当前位置: 首页 > 知识库问答 >
问题:

Python 3熊猫错误:熊猫。解析器。CParserError:标记数据时出错。C错误:第5行预期有11个字段,saw 13

诸葛煜
2023-03-14

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

Python在标记数据时出错

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

我的代码很简单:

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

共有3个答案

南宫俊喆
2023-03-14

我有同样的错误,我用这个读取我的csv数据:d1=pd.read_json('my.csv')然后我尝试这个d1=pd.read_json('my.csv',sep='\t')这次是对的。如果您的分隔符不是',',您可以尝试这个方法,因为默认值是',',所以如果您没有明确指示,它就会出错。pandas.read_csv

毋弘光
2023-03-14

对于那些在这里着陆的人,当文件实际上是一个. xls文件而不是一个真正的. csv时,我得到了这个错误。尝试在电子表格应用程序中重新保存为CSV。

章嘉致
2023-03-14

解决方案是使用内置分隔符“嗅探”。

input_data = pd.read_csv(fname, sep=None) 
 类似资料:
  • 关于这个话题,人们已经提出了很多问题。(和许多其他人)。在众多的答案中,到目前为止,没有一个对我真正有帮助。如果我错过了有用的,请告诉我。 我只想将带有熊猫的CSV文件读入数据框。听起来很简单。 我的文件 我的代码: 我的错误: 我对这个问题的猜测是,Pandas看第一行,并期望在下面的行中有相同数量的代币。如果不是这样,它将以错误停止。 在众多答案中,使用选项的建议包括,例如:或或以及更多无帮助

  • 我想编制一份符合我设定标准的股票清单。我看到的是市值在150000美元到10000000美元(以百万计)之间的公司。当运行下面的代码时,我得到一个错误。我想知道我到底做错了什么 "'从get_all_tickers导入yFinance为yf,熊猫为pd,Shutil,os,time,globb,smtplib,sslget_tickers为gt 股票代码=gt。获取已筛选的股票(mktcap_最小

  • 问题内容: 我有一个看起来像这样的数据框: 也有一个带名为fee_profit的表的sqlite3 db fee_profit有4个栏位: id-整数-主键 perf_period_id-整数 日期-日期 利润-真实 当我尝试将dataframe写入数据库时​​(不显示db连接): 我得到以下代码: 没有传递主键(这可能是问题吗?)我把桌子弄得乱七八糟,肯定看起来像是问题所在的日期。尝试过在索引中

  • 问题内容: 我已经使用熊猫成功读取了一个csv文件。当我尝试从数据框中打印特定列时,出现键盘错误。因此,我与错误共享代码。 ** 有人可以帮我吗? 问题答案: 我认为首先最好调查一下,什么是真实的列名,如果转换成更好的列表会看到一些空格或类似的东西: print (reviews_new.columns.tolist()) 我认为可能有2个问题(显然): 1.列名中的空格(也可能在数据中) 解决方

  • 我正在学习如何通过pandas将大型csv文件加载到python中。我正在使用anaconda和Python3与一台64 GB内存的pc。 贷款组合是一个很大的例子。csv数据集由2509列和100000行组成,约为1.4 GBs。 我可以毫无错误地运行以下代码: 然而,当我使用贷款组合时,例如,大型。csv文件创建一个更大的文件,即Loan\u Portfolio\u Example\u Lar

  • 我用python 2.7.7安装了Anaconda。 但是,每当我运行“import pandas”时,就会出现错误: 我尝试运行建议的命令,但它指出 以前是否有人遇到过这种情况并找到了解决方案?