gpt4 book ai didi

python - 为什么 pandas read_csv 没有读取正确的行数?

转载 作者:行者123 更新时间:2023-11-28 18:41:09 25 4
gpt4 key购买 nike

我正在尝试使用 pandas read_csv 打开 csv 文件的一部分。我打开的部分在第 746 行有一个标题,然后转到第 1120 行。

 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 和 pandas 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

当 nrows+header 小于此值时,为什么它试图打开第 1121 行,为什么它在执行此操作之前只读取了 232 行?

最佳答案

除非我读错了文档,否则这看起来像是 read_csv 中的错误(我建议在 github 上填写问题!)。

解决方法,因为您的数据很小(以字符串形式读取行):

from StringIO import StringIO
with open(inputfile) as f:
df = pd.read_csv(StringIO(''.join(f.readlines()[:1120])), header=746, nrows=374)

我用您提供的 csv 对此进行了测试,它有效/不提高!

关于python - 为什么 pandas read_csv 没有读取正确的行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25985817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com