Python 3 Pandas 错误:pandas.parser.CParserError:错误标记数据。 C 错误:第 5 行应有 11 个字段,但看到了 13 个

新手上路,请多包涵

我检查了这个答案,因为我遇到了类似的问题。

Python Pandas 错误标记数据

但是,由于某种原因,我所有的行都被跳过了。

我的代码很简单:

 import pandas as pd

fname = "data.csv"
input_data = pd.read_csv(fname)

我得到的错误是:

   File "preprocessing.py", line 8, in <module>
    input_data = pd.read_csv(fname) #raw data file ---> pandas.core.frame.DataFrame type
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pandas/io/parsers.py", line 465, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pandas/io/parsers.py", line 251, in _read
    return parser.read()
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pandas/io/parsers.py", line 710, in read
    ret = self._engine.read(nrows)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pandas/io/parsers.py", line 1154, in read
    data = self._reader.read(nrows)
  File "pandas/parser.pyx", line 754, in pandas.parser.TextReader.read (pandas/parser.c:7391)
  File "pandas/parser.pyx", line 776, in pandas.parser.TextReader._read_low_memory (pandas/parser.c:7631)
  File "pandas/parser.pyx", line 829, in pandas.parser.TextReader._read_rows (pandas/parser.c:8253)
  File "pandas/parser.pyx", line 816, in pandas.parser.TextReader._tokenize_rows (pandas/parser.c:8127)
  File "pandas/parser.pyx", line 1728, in pandas.parser.raise_parser_error (pandas/parser.c:20357)
pandas.parser.CParserError: Error tokenizing data. C error: Expected 11 fields in line 5, saw 13

原文由 user1452494 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 443
1 个回答

解决方案是使用 pandas 内置的定界符“嗅探”。

 input_data = pd.read_csv(fname, sep=None)

原文由 user1452494 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进