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

5voto

Auch wenn dies nicht für diese Frage gilt, kann dieser Fehler auch bei komprimierten Daten auftreten. Das explizite Festlegen des Werts für kwarg compression hat mein Problem gelöst.

result = pandas.read_csv(data_source, compression='gzip')

4voto

Abu Bakar Siddik Punkte 369

Das Problem liegt am Trennzeichen. Finden Sie heraus, was für ein Trennzeichen in Ihren Daten verwendet wird und geben Sie es wie folgt an:

data = pd.read_csv('some_data.csv', sep='\t')

4voto

Naseer Punkte 127

Einfache Lösung: Öffnen Sie die CSV-Datei in Excel und speichern Sie sie mit einem anderen Dateinamen im CSV-Format. Versuchen Sie es erneut mit dem Import in Spyder. Ihr Problem wird gelöst sein!

3voto

Anass Lahrech Punkte 101

Sie können verwenden :

pd.read_csv("mycsv.csv", delimiter=";")

Pandas 1.4.4

Es kann das Trennzeichen Ihrer Datei sein, öffnen Sie sie als Textdatei, suchen Sie nach dem Trennzeichen. Dann haben Sie Spalten, die leer und unbenannt sein können, aufgrund der Zeilen, die zu viele Trennzeichen enthalten.

Sie können sie daher mit Pandas verarbeiten und auf Werte prüfen. Für mich ist das besser als Zeilen in meinem Fall zu überspringen.

3voto

piseynir Punkte 237

Manchmal befindet sich in einer Zelle ein Komma ",". Aufgrund dessen kann pandas es nicht lesen. Versuchen Sie es mit dem Trennzeichen ";".

df = pd.read_csv(r'yourpath', delimiter=";")

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