Ich habe eine große csv-Datei mit 25 Spalten, die ich als Pandas Dataframe lesen möchte. Ich benutze pandas.read_csv()
. Das Problem ist, dass einige Zeilen haben zusätzliche Spalten, so etwas wie das:Pandas CParserError: Fehler Tokening Daten
col1 col2 stringColumn ... col25
1 12 1 str1 3
...
33657 2 3 str4 6 4 3 #<- that line has a problem
33658 1 32 blbla #<-some columns have missing data too
Wenn ich versuche, es zu lesen, erhalte ich die Fehler
CParserError: Error tokenizing data. C error: Expected 25 fields in line 33657, saw 28
Das Problem tritt nicht auf, wenn die zusätzlichen Werte erscheinen in den ersten Reihen. Zum Beispiel, wenn ich hinzufügen, Werte in der dritten Reihe der gleichen Datei funktioniert es gut
#that example works:
col1 col2 stringColumn ... col25
1 12 1 str1 3
2 12 1 str1 3
3 12 1 str1 3 f 4
...
33657 2 3 str4 6 4 3 #<- that line has a problem
33658 1 32 blbla #<-some columns have missing data too
Meine Vermutung ist, dass Pandas die ersten (n) Zeilen überprüft die Anzahl der Spalten, um zu bestimmen, und wenn Sie zusätzliche Spalten nach dass es ein Problem hat, es zu analysieren.
Überspringen der fehlerhaften Linien wie vorgeschlagen here ist keine Option, diese Zeilen enthalten wertvolle Informationen.
Kennt jemand einen Weg um dies?
Wie erwarten Sie, dass diese Zeilen gespeichert und dargestellt werden? Zum Beispiel sind Sie nach 25 oder 28 Spalten? – EdChum
Ich interessiere mich nur für etwa die Hälfte der 25 Spalten. Die Werte in der Extra-Spalte interessieren mich nicht. – Sininho
Sind die Anzahl der Spalten festgelegt oder nicht? also ist es immer 28 – EdChum