我试图使用熊猫操作.csv文件,但我得到这个错误:

pandas.parser.CParserError:标记数据错误。C错误:第3行有2个字段,见12

我试着读过熊猫的文件,但一无所获。

我的代码很简单:

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

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

文件来自晨星公司


当前回答

对于这个问题,我遇到了多种解决方案。很多人也给出了最好的解释。但对于初学者来说,我认为以下两种方法就足够了:

import pandas as pd

#Method 1

data = pd.read_csv('file1.csv', error_bad_lines=False)
#Note that this will cause the offending lines to be skipped.

#Method 2 using sep

data = pd.read_csv('file1.csv', sep='\t')

其他回答

以下是对我有用的(我张贴了这个答案,因为我在谷歌协作笔记本中特别遇到了这个问题):

df = pd.read_csv("/path/foo.csv", delimiter=';', skiprows=0, low_memory=False)

有时单元格中有一个逗号“,”。因此,熊猫不能读它。 尝试使用“;”分隔符

df = pd.read_csv(r'yourpath', delimiter=";")

这肯定是分隔符的问题,因为大多数csv csv都是使用sep='/t'创建的,所以尝试使用分隔符/t的制表符(\t)来读取csv。所以,尝试使用下面的代码行打开。

data=pd.read_csv("File_path", sep='\t')

解决方法简单:在excel中打开csv文件,并保存为csv格式的不同名称文件。再次尝试导入它spyder,你的问题将得到解决!

在参数中使用分隔符

pd.read_csv(filename, delimiter=",", encoding='utf-8')

它会读。