2016-08-01 9 views
-2

wie dieser Rahmen Inhalt aussieht Mein Python-Datendatei schreiben:In Python, wie groupby zu tun, sortieren Sie die Elemente innerhalb der Gruppe und dann die Ausgabe an eine

ID  [enter image description here][1] ROLE  DOB 

E548621  MANAGER  1980-12-31 
E548622  Dy MANAGER 1983-06-01 
E548623  MANAGER  1978-01-05 
E548624  SSE   1988-12-31 
E548625  MANAGER  1983-05-11 
E548626  Dy MANAGER 1985-10-25 
E548627  SSE   1987-10-20 
E548628  MANAGER  1981-04-02 
E548629  Dy MANAGER 1986-09-10 
E548630  SSE   1989-02-15 

Mein Ziel ist es durch Rolle-Gruppe. Sortieren Sie in jeder Gruppe die Datensätze mit DOB, so dass ältere Einträge zuerst in der Liste erscheinen als die jüngeren. Nach Gruppierung und Sortierung möchte ich die Ausgabe in eine Datei schreiben. Ich muss die Ausgabedatei erzeugen, die so aussieht.

ROLE  LIST 

MANAGER  [E548623 1978-01-05, E548621 1980-12-31, E548628 1981-04-02,  E548625 1983-05-11] 

Dy MANAGER [E548622 1983-06-01, E548626 1985-10-25, E548629 1986-09-10] 
SSE   [E548627 1987-10-20, E548624 1988-12-31, E548630 1989-02-15] 

Bitte helfen Sie mir, es zu tun. Vielen Dank

+0

Python nicht „hat Daten Rahmen "; Vielleicht benutzen Sie eine Bibliothek oder ein Framework? –

+3

Ich stimme für das Schließen dieser Frage als Off-Topic ab, da SO kein Code-Schreibdienst ist. –

+0

Wenn Ihre Daten in einer Datei gespeichert sind, wird dieser Einzeiler die gesamte Sortierung für Sie vornehmen "sort -k3 -k2 a.txt" – Marichyasana

Antwort

0

Ich denke, Below Abfrage fein tun, wenn mich nicht korrigieren Sie

query_obj = db.session.query(Table_name).group_by(Table_name.ROLE).order_by(desc(Table_name.DOB)) 

Dann wird ein in query_obj for-Schleife laufen Werte als eine Zeile abzurufen