我试图使用熊猫操作.csv文件,但我得到这个错误:
pandas.parser.CParserError:标记数据错误。C错误:第3行有2个字段,见12
我试着读过熊猫的文件,但一无所获。
我的代码很简单:
path = 'GOOG Key Ratios.csv'
#print(open(path).read())
data = pd.read_csv(path)
我该如何解决这个问题?我应该使用csv模块还是其他语言?
文件来自晨星公司
我试图使用熊猫操作.csv文件,但我得到这个错误:
pandas.parser.CParserError:标记数据错误。C错误:第3行有2个字段,见12
我试着读过熊猫的文件,但一无所获。
我的代码很简单:
path = 'GOOG Key Ratios.csv'
#print(open(path).read())
data = pd.read_csv(path)
我该如何解决这个问题?我应该使用csv模块还是其他语言?
文件来自晨星公司
当前回答
下面的命令序列工作(我丢失了数据的第一行-no header=None present-,但至少它加载):
Df = pd.read_csv(文件名, usecols =范围(0,42)) df。列=[‘年’,‘莫’,‘天’,“人力资源”,“分”,“秒”,“猎狗”, ' error ', ' rectype ', ' lane ', ' speed ', ' class ', ' length ' ' gvw ' ' esal ' ' w1 ' ' s1 ' ' w2 ' ' s2 ' ' w3 ' ' s3 ' ' w4 ' ' s4 ' ' w5 ' ' s5 ' ' w6 ' ' s6 ' ' w7 ' ' s7 ' ' w8 ' ' s8 ' ' w9 ' ' s9 ' ' w10 ' ' s10 ' ' w11 ', ' s11 ', ' w12 ', ' s12 ', ' w13 ', ' s13 ', ' w14 ']
以下不工作:
Df = pd.read_csv(文件名, 名称=[‘年’,‘莫’,‘天’,“人力资源”,“分”,“秒”,“猎狗”, ' error ', ' rectype ', ' lane ', ' speed ', ' class ', ' length ' ' gvw ' ' esal ' ' w1 ' ' s1 ' ' w2 ' ' s2 ' ' w3 ' ' s3 ' ' w4 ' ' s4 ' ' w5 ' ' s5 ' ' w6 ' ' s6 ' ' w7 ' ' s7 ' ' w8 ' ' s8 ' ' w9 ' ' s9 ' ' w10 ' ' s10 ' ' w11 ', ' s11 ', ' w12 ', ' s12 ', ' w13 ', ' s13 ', ' w14 '], usecols =范围(0,42))
CParserError:标记数据错误。C错误:在1605634行中预期有53个字段,看到54 以下不工作:
df = pd read_csv(文件) 标题=郎)
CParserError:标记数据错误。C错误:在1605634行中预期有53个字段,看到54
因此,在你的问题中,你必须传递usecols=range(0,2)
其他回答
以下是对我有用的(我张贴了这个答案,因为我在谷歌协作笔记本中特别遇到了这个问题):
df = pd.read_csv("/path/foo.csv", delimiter=';', skiprows=0, low_memory=False)
我有一个已有行号的数据集,我使用index_col:
pd.read_csv('train.csv', index_col=0)
大多数有用的答案已经提到了,但是我建议将pandas数据框架保存为parquet文件。Parquet文件没有这个问题,同时它们是内存高效的。
我遇到过这样的错误,一个丢失的引号。我使用映射软件,当导出以逗号分隔的文件时,它会在文本项周围加上引号。使用引号的文本(例如:“=英尺”和“=英寸”)可能会有问题。考虑下面这个例子,5英寸的测井曲线打印很差:
UWI_key,经度,纬度,备注 US42051316890000, 30.4386484, -96.4330734,“可怜的5””
用5英寸作为5英寸的简写,最终会给工作带来麻烦。Excel会简单地去掉额外的引号,但是Pandas没有上面提到的error_bad_lines=False参数就会失效。
一旦你知道了错误的本质,在导入之前,从文本编辑器(例如Sublime text 3或notepad++)中进行查找-替换可能是最简单的。
我使用的数据集有很多引号(")使用无关的格式。我能够通过包含read_csv()的这个参数来修复这个错误:
quoting=3 # 3 correlates to csv.QUOTE_NONE for pandas