Pandas read_csv erwartet, dass falsche Anzahl von Spalten, mit zerlumpten csv-Datei

Ich habe eine csv-Datei, die ein paar hundert Zeilen und 26 Spalten, aber die letzten Spalten nur einen Wert in ein paar Zeilen und Sie werden in Richtung der Mitte oder am Ende der Datei. Wenn ich versuche, es zu Lesen bei der Verwendung read_csv() bekomme ich die folgende Fehlermeldung.
"ValueError: Erwarte 23 Spalten, got 26, in Zeile 64"

Ich kann nicht sehen, wo Sie ausdrücklich die Anzahl der Spalten in der Datei, oder, wie es bestimmt, wie viele Spalten es denkt, die Datei haben sollte.
Die Deponie ist unter

In [3]:

infile =open(easygui.fileopenbox(),"r")
pledge = read_csv(infile,parse_dates='true')


---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-3-b35e7a16b389> in <module>()
      1 infile =open(easygui.fileopenbox(),"r")
      2 
----> 3 pledge = read_csv(infile,parse_dates='true')


C:\Python27\lib\site-packages\pandas-0.8.1-py2.7-win32.egg\pandas\io\parsers.pyc in read_csv(filepath_or_buffer, sep, dialect, header, index_col, names, skiprows, na_values, thousands, comment, parse_dates, keep_date_col, dayfirst, date_parser, nrows, iterator, chunksize, skip_footer, converters, verbose, delimiter, encoding, squeeze)
    234         kwds['delimiter'] = sep
    235 
--> 236     return _read(TextParser, filepath_or_buffer, kwds)
    237 
    238 @Appender(_read_table_doc)

C:\Python27\lib\site-packages\pandas-0.8.1-py2.7-win32.egg\pandas\io\parsers.pyc in _read(cls, filepath_or_buffer, kwds)
    189         return parser
    190 
--> 191     return parser.get_chunk()
    192 
    193 @Appender(_read_csv_doc)

C:\Python27\lib\site-packages\pandas-0.8.1-py2.7-win32.egg\pandas\io\parsers.pyc in get_chunk(self, rows)
    779             msg = ('Expecting %d columns, got %d in row %d' %
    780                    (col_len, zip_len, row_num))
--> 781             raise ValueError(msg)
    782 
    783         data = dict((k, v) for k, v in izip(self.columns, zipped_content))

ValueError: Expecting 23 columns, got 26 in row 64
Danke Roman, ich war in der Mitte, herauszufinden, wie um Sie lesbarer zu machen, mich und Sie, mich zu schlagen. 🙂
np, über Ihre Frage, Sie haben-header in der Datei?
Nein, keine header, der so aussieht, oder die Antwort unten wäre der Weg zu gehen.

InformationsquelleAutor chrisfs | 2013-11-22

Schreibe einen Kommentar