【发布时间】:2015-06-27 14:03:36
【问题描述】:
我遇到了类似的问题,所以我查看了这个答案。
Python Pandas Error tokenizing data
但是,由于某种原因,我的所有行都被跳过了。
我的代码很简单:
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
【问题讨论】:
-
所以我们应该以某种方式从产生错误的数据中进行逆向工程?请发布示例原始输入数据
-
您的 CSV 文件的每一行似乎没有相同数量的字段。尝试在 Excel 或您喜欢的电子表格程序中打开它以验证其结构。
-
这个描述把我带到了这里,这和我遇到的问题一样。为此 +1。
-
为 read_csv() 的可变列数动态生成列名:stackoverflow.com/a/52890095/1427624
标签: csv python-3.x pandas