2017-01-09 7 views
1

Ich habe einen Pandas Datenrahmen der Form (455698, 62). Ich möchte es als CSV-Datei speichern und später wieder mit Pandas laden. Für jetzt mache ich das:Speichern als CSV korrumpiert Datenrahmen

df.to_csv("/path/to/file.csv",index=False,sep="\\", encoding='utf-8') #saving 
df=pd.read_csv("/path/to/file.csv",delimiter="\\",encoding ='utf-8') #loading 

und ich bekomme einen Datenrahmen mit Form (455700, 62): 2 weitere Zeilen? Wenn ich genauer hinsehe (bei Betrachtung aller eindeutigen Werte in jeder Spalte), habe ich festgestellt, dass einige Werte die Spalten im Prozess geändert haben.

Ich habe versucht, mehrere Trennzeichen, dtype = "Objekt" erzwingen, und ich kann nicht herausfinden, wo der Fehler ist. Was soll ich versuchen?

+0

Sie müssen Rohdaten veröffentlichen, die diese wiedergibt, können Sie auch, was die zusätzlichen Spalten sind. Sie können die Anfangsspalten als 'first_cols = df.columns' speichern, dann das df laden und' second_cols = other_df.columns' vergleichen und dann 'first_cols.difference (second_cols)' – EdChum

+0

einen sehr sehr kleinen Einblick in die Daten geben toll, eine Idee zu haben ... – fedepad

+0

es ist zusätzliche Zeilen, keine zusätzlichen Spalten. Ich glaube nicht, dass ich Rohdaten posten kann, da es sehr groß ist und ich keine Ahnung habe, wo das Problem sein könnte (IMO, es sind nur ein oder zwei Zeilen, die dieses Problem verursachen) – CoMartel

Antwort

2

Ist es möglich, dass einige Ihrer Zeichenfolgen Zeichen (\n) enthalten?

In diesem Fall würde ich vorschlagen, zitiert zu verwenden, wenn Sie Ihre CSV-Datei zu speichern:

import csv 

df.to_csv("/path/to/file.csv",index=False,sep="\\", encoding='utf-8', quoting=csv.QUOTE_NONNUMERIC) 
... 
+0

Ich habe es versucht und es scheint zu funktionieren! Vielen Dank, aber kannst du es erklären? Ich habe Pandas bereits standardmäßig Werte angegeben? – CoMartel

+0

@HarryPotfleur, eigentlich bin ich etwas verwirrt - ich habe versucht, es zu reproduzieren und ich konnte es nicht reproduzieren mit Pandas (Version 0.19.2) – MaxU

+0

Ich habe die gleiche Version und es funktioniert – CoMartel

Verwandte Themen