gpt4 book ai didi

python - 如何知道 python 中一行 CSV 文件的字节位置?

转载 作者:太空狗 更新时间:2023-10-29 22:11:41 26 4
gpt4 key购买 nike

我正在处理巨大的 CSV 文件(20-2500 万行)并且出于很多原因不想将它们拆分成更小的部分。

我的脚本使用 csv 模块逐行读取文件。我现在需要在下一次迭代(或刚刚读取)中读取的行的位置(字节数)。

我试过了

>>> import csv
>>> f = open("uscompany.csv","rU")
>>> reader = csv.reader(f)
>>> reader.next()
....
>>> f.tell()
8230

但似乎csv 模块按 block 读取文件。因为当我继续迭代时,我得到了相同的位置

>>> reader.next()
....
>>> f.tell()
8230

有什么建议吗?请指教。

最佳答案

如果“字节位置”是指字节位置,就像您将文件作为普通文本文件读入一样,那么我的建议就是这样做。以文本形式逐行读取文件,并以此方式获取行内的位置。您仍然可以使用 csv 模块自行逐行解析 CSV 数据:

for line in myfile:
row = csv.reader([line]).next()

我认为 CSV 阅读器提供这种字节位置是非常好的设计,因为它在 CSV 上下文中确实没有多大意义。毕竟,就 CSV 而言,"data"data 是完全相同的四个字节数据,但 d 可能是第二个字节或第一个字节取决于是否使用了可选的引号。

关于python - 如何知道 python 中一行 CSV 文件的字节位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12109622/

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