Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 14, 2017 10:25:26

_IIOXMEJI_
Зарегистрирован: 2017-09-09
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка при чтении csv-файла.

При попытке чтения из csv-файла:

 seson = pd.read_csv ('/Users/umerenkogs/anaconda/Data/2003.csv')
Выдаётя такая ошибка:
 ---------------------------------------------------------------------------
CParserError                              Traceback (most recent call last)
<ipython-input-50-5e3a6c1f1803> in <module>()
----> 1 seson = pd.read_csv ('/Users/umerenkogs/anaconda/Data/2003.csv')
/Users/umerenkogs/anaconda/lib/python3.5/site-packages/pandas/io/parsers.py in parser_f(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, escapechar, comment, encoding, dialect, tupleize_cols, error_bad_lines, warn_bad_lines, skip_footer, doublequote, delim_whitespace, as_recarray, compact_ints, use_unsigned, low_memory, buffer_lines, memory_map, float_precision)
    527                     skip_blank_lines=skip_blank_lines)
    528 
--> 529         return _read(filepath_or_buffer, kwds)
    530 
    531     parser_f.__name__ = name
/Users/umerenkogs/anaconda/lib/python3.5/site-packages/pandas/io/parsers.py in _read(filepath_or_buffer, kwds)
    303         return parser
    304 
--> 305     return parser.read()
    306 
    307 _parser_defaults = {
/Users/umerenkogs/anaconda/lib/python3.5/site-packages/pandas/io/parsers.py in read(self, nrows)
    761                 raise ValueError('skip_footer not supported for iteration')
    762 
--> 763         ret = self._engine.read(nrows)
    764 
    765         if self.options.get('as_recarray'):
/Users/umerenkogs/anaconda/lib/python3.5/site-packages/pandas/io/parsers.py in read(self, nrows)
   1211     def read(self, nrows=None):
   1212         try:
-> 1213             data = self._reader.read(nrows)
   1214         except StopIteration:
   1215             if self._first_chunk:
pandas/parser.pyx in pandas.parser.TextReader.read (pandas/parser.c:7988)()
pandas/parser.pyx in pandas.parser.TextReader._read_low_memory (pandas/parser.c:8244)()
pandas/parser.pyx in pandas.parser.TextReader._read_rows (pandas/parser.c:8970)()
pandas/parser.pyx in pandas.parser.TextReader._tokenize_rows (pandas/parser.c:8838)()
pandas/parser.pyx in pandas.parser.raise_parser_error (pandas/parser.c:22649)()
CParserError: Error tokenizing data. C error: Expected 45 fields in line 49, saw 46

Удаляю 49 строку, ошибка остаётся.
Что делать, подскажите?

Офлайн

#2 Сен. 14, 2017 14:04:06

scidam
Зарегистрирован: 2016-06-15
Сообщения: 288
Репутация: +  35  -
Профиль   Отправить e-mail  

Ошибка при чтении csv-файла.

Скорее всего не совсем валидный csv. Например, начиная с 49 строки и далее в нем 46 колонок вместо 45. Когда вы удаляете 49 строку, на ее место попадает 50, и ошибка снова сохраняется. Это как предположение.
Попробуйте прочитать какой-нибудь простой csv:
a,b,c
1,2,3
4,5,6

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version