Es scheint einen Fehler in der aktuellen Version von Pandas ('0.11.0') zu sein, die bedeutet, dass Matti Johns Antwort nicht funktionieren wird. Wenn Sie Spalten zum Schreiben in eine Datei angeben, werden diese in alphabetischer Reihenfolge geschrieben, jedoch einfach entsprechend der Liste in Spalten umbenannt. Zum Beispiel dieser Code:
import pandas
dfdict={}
dfdict["a"]=[1,2,3,4]
dfdict["b"]=[5,6,7,8]
dfdict["c"]=[9,10,11,12]
df=pandas.DataFrame(dfdict)
df.to_csv("dfTest.txt","\t",header=True,cols=["b","a","c"])
Ergebnisse in dieser (falschen) Ausgabe:
b a c
0 1 5 9
1 2 6 10
2 3 7 11
3 4 8 12
können Sie überprüfen, welche Version von Pandas Sie durch die Ausführung installiert haben:
pandas.version.version
Dokumentation to_csv ist here
Eigentlich scheint es, dass dies ein bekannter Fehler ist und wird in einer zukünftigen Version (0.11.1) festgelegt werden:
https://github.com/pydata/pandas/issues/3489
UPDATE: hat es noch eine neue Version von Pandas nicht, aber es gibt hier beschrieben eine Abhilfe, die Verwendung nicht erforderlich eine andere Version von Pandas:
github.com/pydata/pandas/issues/3454
die letzten Zeile in dem Codeblock über die folgenden, wird also Wechsel korrekt funktionieren:
df.to_csv("dfTest.txt","\t",header=True,cols=["b","a","c"], engine='python')
UPDATE Es scheint, dass das Argument "cols" in "columns" umbenannt wurde und dass das Argument "engine" in neueren Versionen von Pandas veraltet (nicht mehr verfügbar) ist. Dieser Fehler wurde in Version 0.19.0 behoben.
Können Sie ein Beispiel Ihrer csv zur Verfügung stellen? – waitingkuo