我想用pandas read_csv打开一部分csv文件。我打开一节对线746头,并进入行1120为什么pandas read_csv没有读取正确的行数?
gr = read_csv(inputfile,header=746,nrows=374,index_col=False)
然后我得到一个错误
CParserError: Error tokenizing data. C error: Expected 9 fields in line 1121, saw 17
错误是有道理的,因为在文件的1121行,数据从9个字段变为17个。没有任何意义的是它试图读取1121行的原因,因为这些nrows和header应该只能打开多达1120行。
我可以通过减少行数在232以下。即使我增加标题号码,它仍然有效,因此它开始进一步(例如将其增加到800)。
它将读取的最后一行看起来没有什么特别之处,如果我增加标题号码,它会在文件中读取更多行。
我使用Python 2.7和熊猫0.14。
的文件,我想读的样子:
"River Levels","GRETA_SOUTH (C)","GLENROWAN (C)","ROCKY_POINT (C)","DOCKER_RD (C)","BOBINAWARRAH (C)","WOOLSHED (C)","WANGARATTA (C)","PEECHELBA_EAST (C)"
41812.00001, 0.70, 0.00, 0.00, 0.20, 0.00, 0.00, 7.30, 125.00
41812.04168, 0.70, 0.00, 0.00, 0.20, 0.00, 0.00, 7.30, 125.00
为什么打不开线1121,当NROWS +头小于这个,它为什么会只读232线它之前这个?
也河水平!一个接近我自己心的话题! (我不能再+1!) – 2014-09-24 05:28:40