2016-10-03 8 views
2

Ich habe einen Datensatz mit 51,347 Zeilen. Beim Importieren der Daten mit Pandas und setzen Sie das Trennzeichen auf "|" Ich verliere 394 Zeilen.Pandas fehlende Zeilen beim Import mit delimiter = "|"

Wenn ich die sep-Variable entferne, werden die Daten nicht als mehrere Spalten geladen, sondern laden die richtige Anzahl an Zeilen. Es scheint nur ein Problem für diese Datei zu sein. Basin11.txt File

Weiß jemand, warum ich Daten verliere?

+0

Ich würde mir vorstellen, rund 394 Zeilen haben ihre Spalte mit "free" Text cont aining ein unescaped | und error_bad_lines = False ignoriert diese Zeilen automatisch – Boud

+0

Ich habe versucht, error_bad_lines = False zu entfernen, aber es hat keine Auswirkung auf die Länge. Wir haben jedes Argument einzeln ohne Wirkung außer sep = '|' entfernt. – Will

Antwort

2

Ich fing an, Ihre Eingabedatei durchzugehen und fand eine Anzahl von Fehlern, die zu den "fehlenden Zeilen" führen können.

Die Kommentare Zeile 3491 und 9805 haben eine Öffnung ", aber es fehlt die schließende ". Dies würde zu Übereinstimmungsproblemen führen, einschließlich der folgenden Zeilen als Teil des Kommentarkörpers. Als ich anfing, diese zu reparieren, begannen die Zeilenzahlen zu steigen. Es gibt wahrscheinlich mehr Fälle davon.

Außerdem haben einige Zeilen doppelte Anführungszeichen ("") zum Öffnen und Schließen von Kommentaren. Zum Beispiel:

"" grün, med Gezeiten, 10-15 mph Wind ""

Edit: Ich den folgenden Code hinzugefügt:

for comment in df['Comments'].values: 
    print(comment) 

Dann lief python3 sample.py | grep '|' | wc -l, finden die Anzahl der Kommentare, die | enthalten, und 394 (Die Anzahl der Zeilen, die Sie vermissen)

+0

Vielen Dank, dass es behoben! Ich musste dann das Argument zitieren = 3 zur read_csv Datei hinzufügen. – Will

Verwandte Themen