8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

pandas.parser.CParserError:标记数据时出错

Steven Spungin 1月前

148 0

我正在尝试使用 pandas 来操作 .csv 文件,但是出现此错误:pandas.parser.CParserError: Error tokenizing data. C error: Expected 2 fields in line 3, saw 12我试图读取...

我正在尝试使用 pandas 来操作 .csv 文件,但是出现此错误:

pandas.parser.CParserError:标记数据时出错。C 错误:第 3 行应有 2 个字段,实际为 12 个

我曾尝试阅读 pandas 文档,但一无所获。

我的代码很简单:

path = 'GOOG Key Ratios.csv'
#print(open(path).read())
data = pd.read_csv(path)

我该如何解决这个问题?我应该使用 csv 模块还是其他语言?

帖子版权声明 1、本帖标题:pandas.parser.CParserError:标记数据时出错
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Steven Spungin在本站《parsing》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 这可能是一个问题

    • 数据中的分隔符
    • 第一行,正如@TomAugspurger 指出的那样

    要解决此问题,请尝试在调用时指定 sep and/or header 参数 read_csv 。例如,

    df = pandas.read_csv(filepath, sep='delimiter', header=None)
    

    在上面的代码中, sep 定义分隔符并 header=None 告诉 pandas 您的源数据没有标题行/列标题。因此 文档中 :“如果文件不包含标题行,则应明确传递 header=None”。在这种情况下,pandas 会自动为每个字段创建整数索引 {0,1,2,...}。

    根据文档,分隔符成为问题。文档说“如果 sep 为 None [未指定],将尝试自动确定这一点”。然而,我在这方面运气不佳,包括带有明显分隔符的情况。

    另一个解决方案可能是尝试自动检测分隔符

    # use the first 2 lines of the file to detect separator
    temp_lines = csv_file.readline() + '\n' + csv_file.readline()
    dialect = csv.Sniffer().sniff(temp_lines, delimiters=';,')
    
    # remember to go back to the start of the file for the next time it's read
    csv_file.seek(0) 
    
    df = pd.read_csv(csv_file, sep=dialect.delimiter)
    
    
返回
作者最近主题: