Umgang mit schlechten Zeilen beim Lesen von CSV -Dateien mit pd.read_csv ()Python

Python-Programme
Anonymous
 Umgang mit schlechten Zeilen beim Lesen von CSV -Dateien mit pd.read_csv ()

Post by Anonymous »

Ich versuche, einige CSV -Dateien mit ein paar tausend Zeilen zu analysieren. Der CSV ist mit Komma als Trennzeichen und Anführungszeichen strukturiert, die jedes Feld einschließen. Ich möchte pd.read_csv () verwenden, um die Daten zu analysieren, ohne die fehlerhaften Zeilen mit On_Bad_line = 'Pass' Argument zu überspringen. < /P>
Beispiel: < /p>

Code: Select all

"Authors","Title","ID","URN"
"Overflow, Stack, Doe, John Society of overflowers "Stack" (something) ","50 years of overflowing in "Stack" : 50 years of stacking---",""117348359","URN:ND_649C52T1A9K1JJ51"
"Tyson, Mike","Me boxing","525166266","URN:SD_95125N2N3523N5KB"
"Smith, Garry",""Funny name" : a book about names","951992851","URN:ND_95N5J2N352BV525N25"
"The club of clubs","My beloved, the "overflow stacker"","9551236651","URN:SD_955K2B61J346F1N25"
< /code>
Ich habe versucht, die problematische Struktur der CSV -Datei zu veranschaulichen. Im obigen Beispiel würde nur die zweite Zeile ohne Probleme analysiert, und andere hätten Probleme aufgrund beigefügter Anführungszeichen oder Kommas innerhalb der Feldgrenzen. Befehl: < /p>
df = pd.read_csv(path, engine='python', delimiter=",", quotechar='"', encoding="utf-8", on_bad_lines='warn')< /code> < /p>
Ich erhalte Fehler in problematischen Zeilen: ParserWarning: Überspringen von Zeile 1477: ', erwartet nach' "'
Ähnlicher Fehler, wenn ich die Standard -Engine oder Pyarrow versuche . In einer neuen Variablen als Wörterbuch oder eine Liste gefunden, damit ich diese Daten später im Code manuell hinzufügen kann : < /p>
bad_lines = []
def handle_bad_lines(bad_line):
print(f"Skipping bad line: {bad_line}")
bad_lines.append(bad_line)
return None
Danke.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post