2017-12-29 6 views
0

Ich habe ein Problem mit Pandas read_csv. Ich habe eine Datei, die "als Feldwert enthält. In Wirklichkeit, das nicht der Fall sein sollte, aber ich habe keinen Einfluss auf die Datei Generation, durch die ich eine Abhilfe finden haben.Pandas read_csv EOF innerhalb Zeichenfolge ab Zeile

pandas.errors.ParserError: Error tokenizing data. C error: EOF inside string starting at line 15345

gefunden ein Problem Bericht über das auf Git (link here), wo sie vorschlagen Trennzeichen zu verwenden, die für „September“ Parameter auch für „QuoteChar“. In diesem Fall Struktur der Datei wird vermasselt.

eine andere Sache, die verwendet wird, ich Ich wollte eine Ausnahme hinzufügen, die Code für den Rest der Dateien ausführen wird, aber ich werde dieses Problem für diesen speziellen Dateityp weiterhin haben

Befehl, den ich CSV-Datei, um zu lesen:

df_new = pd.read_csv(file_path_name, sep=";", error_bad_lines=False) 

Jede Idee einer Abhilfe für dieses (z Zeile mit diesem Problem ignorieren)? Eine Möglichkeit würde ich sein, csv library zu verwenden, um diese Zeile zu entfernen (oder "mit etwas anderem zu ersetzen), aber ich möchte es einfach halten und so viel wie möglich innerhalb von Pandas machen."

Python-Version: 3.6.2

Pandas Version: 0.21.0

Vielen Dank und viele Grüße

+0

Können Sie fehlerhafte Beispieldatensätze aus Ihrer CSV-Datei hochladen? Ich habe Sie gefragt, weil ich versuche, Ihr Problem zu replizieren, habe es aber nicht gefunden. – user8505495

+0

'error_bad_lines = False' ist eine Problemumgehung. Eine Lösung würde jedoch beinhalten, zu sehen, dass die Zeile, die das Laden verursacht, fehlerhaft ist. –

+0

Hallo! Ich habe versucht, dies und das löst nur ein Problem, wo es zu viele/einige Felder in einer Zeile wäre, würde es immer noch nicht eine Datei in einen Datenrahmen lesen, wenn EOF-Problem auftritt @ @ user8505495: Hier ist ein Beispiel-Datensatz das verursacht das Problem (Trennzeichen festgelegt auf;) ";"; [email protected]; PRI; BUS; 0; 1; 0,00 ;;;;; ACTIVE; 1 ;;; 0; WAHR; GEO; FALSCH; 1 – Bostjan

Antwort

0

möchte nur diesen Vorschlag darauf hinweisen, von @ user8505495 ​​gearbeitet (danke nochmal)

Im Grunde nur das Hinzufügen Parameter. 210 bis read_csv. Verwendung desselben Parameters in to_csv verursacht und Fehler (fehlendes Escape-Zeichen). Eine Möglichkeit besteht darin, den Parameter einzurichten oder einfach den Parameter quoting nicht zu verwenden.