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

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

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

我的代码很简单:

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

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

文件来自晨星公司


当前回答

试题:熊猫。read_csv(path, sep = ',',header=None)

其他回答

我有一个类似的错误,问题是我有一些转义引号在我的csv文件,需要设置escapechar参数适当。

大多数有用的答案已经提到了,但是我建议将pandas数据框架保存为parquet文件。Parquet文件没有这个问题,同时它们是内存高效的。

我遇到过这样的错误,一个丢失的引号。我使用映射软件,当导出以逗号分隔的文件时,它会在文本项周围加上引号。使用引号的文本(例如:“=英尺”和“=英寸”)可能会有问题。考虑下面这个例子,5英寸的测井曲线打印很差:

UWI_key,经度,纬度,备注 US42051316890000, 30.4386484, -96.4330734,“可怜的5””

用5英寸作为5英寸的简写,最终会给工作带来麻烦。Excel会简单地去掉额外的引号,但是Pandas没有上面提到的error_bad_lines=False参数就会失效。

一旦你知道了错误的本质,在导入之前,从文本编辑器(例如Sublime text 3或notepad++)中进行查找-替换可能是最简单的。

你可以试试;

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

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