python pandas read_csv quotechar funktioniert nicht
Habe ich gelesen diese, diese und diese Beiträge, aber trotz ich weiß nicht, warum quotechar
funktioniert nicht bei pd.read_csv()
(Python 3, pandas 0.18.0 und 0.18.1). Und wie konnte ich Lesen einen dataframe, wie diese:
"column1","column2", "column3", "column4", "column5", "column6"
"AM", 7, "1", "SD", "SD", "CR"
"AM", 8, "1,2 ,3", "PR, SD,SD", "PR ; , SD,SD", "PR , ,, SD ,SD"
"AM", 1, "2", "SD", "SD", "SD"
Möchte ich das folgende Ergebnis:
Out[116]:
column1 column2 column3 column4 column5 column6
0 AM 7 1 SD SD CR
1 AM 8 1,2 ,3 PR, SD,SD PR ; , SD,SD PR , ,, SD,SD
2 AM 1 2 SD SD SD
Danke!!!!
- pd.read_csv('test.csv',sep=',\ \ s+')
- Danke für deine Antwort, aber wie ich schon schrieb, lese ich den verlinkten Beitrag so versuchte ich diese Lösung auch, aber funktioniert nicht. Ich bekomme diese Fehlermeldungen:
ValueError: Expected 6 fields in line 3, saw 10
. Funktioniert es für Sie?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Pandas doc auf Separatoren in
read_csv()
:Versuchen Sie es mit dieser statt (
sep
standardmäßig ein Komma):skipinitialspace = True
die ignoriert die Leerzeichen zwischen den Trennzeichen. Der 'Fehler' in OPs CSV-Datei ist das Leerzeichen zwischen Kommas, die - scheinbar - nicht typisch für die csv.sep=';'
, das istpd.read_csv(file, skipinitialspace=True, quotechar='"', sep=';')
?escapechar='\\'
argument. Meine Datei war sehr "schmutzig". Vielen Dank für die Antwort. 🙂Andere Lösung ist die Verwendung eines korrekten regulären Ausdruck statt der einfachen
\s+
. Wir müssen herausfinden, Komma (,
), die nicht innerhalb von Anführungszeichen:Der Ausdruck stammt aus hier.