Schreiben eines Pandas DataFrame in eine CSV-Datei
Ich habe einen Datenrahmen in Pandas, den ich in eine CSV-Datei schreiben möchte. Ich tue dies mit:
df.to_csv('out.csv')
Und erhalte den Fehler:
UnicodeEncodeError: 'ascii' codec can't encode character u'\u03b1' in position 20: ordinal not in range(128)
Gibt es eine Möglichkeit, dieses Problem einfach zu umgehen (d.h. ich habe Unicode-Zeichen in meinem Datenrahmen)? Und gibt es eine Möglichkeit, in eine tabulatorgetrennte Datei statt in eine CSV-Datei zu schreiben, z. B. mit einer 'to-tab' Methode (die es meiner Meinung nach nicht gibt)?
604
3
Zur Abgrenzung durch einen Tabulator können Sie das Argument
sep
vonto_csv
verwenden:Um eine bestimmte Kodierung (z.B. 'utf-8') zu verwenden, benutzen Sie das Argument
encoding
:Wenn Sie Probleme mit der Kodierung in 'utf-8' haben und Zelle für Zelle gehen möchten, können Sie Folgendes versuchen.
Python 2
(Wobei "df" Ihr DataFrame-Objekt ist.)
Dann versuchen Sie es:
Sie können die Kodierung der Spalten überprüfen, indem Sie:
Achtung: errors='ignore' lässt das Zeichen einfach weg, z.B.
Python 3
Manchmal treten diese Probleme auf, wenn Sie auch die UTF-8-Kodierung angeben. Ich empfehle Ihnen, die Kodierung beim Lesen der Datei und die gleiche Kodierung beim Schreiben in die Datei anzugeben. Dies könnte Ihr Problem lösen.