705 Stimmen

Python Pandas Fehler beim Tokenisieren von Daten

Ich versuche, pandas zu verwenden, um eine .csv-Datei zu manipulieren, aber ich erhalte diesen Fehler:

pandas.parser.CParserError: Fehler beim Tokenisieren der Daten. C Fehler: Erwartet 2 Felder in Zeile 3, aber 12 gesehen

Ich habe versucht, die pandas-Dokumentation zu lesen, aber nichts gefunden.

Mein Code ist einfach:

path = 'GOOG Key Ratios.csv'
#print(open(path).read())
data = pd.read_csv(path)

Wie kann ich das lösen? Sollte ich das csv-Modul oder eine andere Sprache verwenden?

Die Datei stammt von Morningstar

1voto

Simin Zuo Punkte 21

Ich habe dasselbe Problem beim Lesen von read_csv: ParserError: Fehler beim Tokenisieren der Daten. Ich habe einfach die alte CSV-Datei in eine neue CSV-Datei gespeichert. Das Problem ist gelöst!

1voto

Bikash Joshi Punkte 103

Die meisten nützlichen Antworten sind bereits erwähnt, aber ich schlage vor, die Pandas-Datenrahmen als Parquet-Datei zu speichern. Parquet-Dateien haben dieses Problem nicht und sind gleichzeitig speichereffizient.

1voto

gogasca Punkte 8373

Ich hatte einen Datensatz mit bereits vorhandenen Zeilennummern, ich habe index_col verwendet:

pd.read_csv('train.csv', index_col=0)

1voto

fact_finder Punkte 152

Ich bin auf diesen Fehler mit einem verirrten Anführungszeichen gestoßen. Ich verwende eine Mapping-Software, die Anführungszeichen um Textelemente setzt, wenn sie kommagetrennte Dateien exportiert. Text, der Anführungszeichen verwendet (z. B. ' = Fuß und " = Zoll), kann problematisch sein, wenn er dann zu Begrenzungskollisionen führt. Betrachten Sie dieses Beispiel, das darauf hinweist, dass ein 5-Zoll-Brunnenprotokoll von schlechter Qualität ist:

UWI_key,Latitude,Longitude,Remark US42051316890000,30.4386484,-96.4330734,"schlecht 5""

Die Verwendung von 5" als Abkürzung für 5 Zoll macht die Dinge kompliziert. Excel entfernt einfach das zusätzliche Anführungszeichen, aber Pandas bricht ohne das oben erwähnte Argument error_bad_lines=False zusammen.

0voto

Toms Code Punkte 1359

Es hat nur ein Komma nach dem letzten Spaltentitel gefehlt. Als ich eins hinzugefügt habe, wurde das Problem behoben. Hoffentlich hilft es jemandem.

original:

col1, col2, col3

korrigierte Version:

col1, col2, col3,

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X