我的csv文件很大,因此无法将它们全部读入内存。我只想阅读和处理其中的几行内容。所以我正在Pandas中寻找一个可以处理此任务的函数,基本的python可以很好地处理此任务:

with open('abc.csv') as f:
    line = f.readline()
    # pass until it reaches a particular line number....

但是,如果我在 Pandas 中这样做,我总是会读第一行:
datainput1 = pd.read_csv('matrix.txt',sep=',', header = None, nrows = 1 )
datainput2 = pd.read_csv('matrix.txt',sep=',', header = None, nrows = 1 )

我正在寻找一些更简单的方法来处理 Pandas 中的这项任务。例如,如果我想读取1000到2000的行。如何快速执行此操作?

我想使用 Pandas ,因为我想将数据读入数据框。

最佳答案

使用 chunksize :

for df in pd.read_csv('matrix.txt',sep=',', header = None, chunksize=1):
    #do something

要回答第二部分,请执行以下操作:
df = pd.read_csv('matrix.txt',sep=',', header = None, skiprows=1000, chunksize=1000)

这将跳过前1000行,然后仅读取接下来的1000行,从而为您提供1000-2000行,不清楚是否需要包含端点,但是您可以摆弄数字以获得所需的内容。

关于python - 如何部分读取巨大的CSV文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29334463/

10-11 22:16
查看更多