仅使用python读取csv文件中的某些行

Hor*_*rst 1 python csv

我只想从 csv 文件中的某一行开始读取一定数量的行,而不需要遍历整个 csv 文件以达到这个特定点。

假设我有一个包含 100 行的 csv 文件,我只想读取第 50 行到第 60 行。我不想从第 1 行到第 49 行迭代以到达第 50 行以开始读取。我可以用seek()以某种方式实现这一目标吗?

例如:Seek to row 50 read from 50 to 60

下一次:寻求第 27 行读取 27 到 34,依此类推

因此,不仅在文件中继续向前查找,而且还向后查找。

非常感谢

Dem*_*ang 5

您可以使用块大小

import pandas as pd

chunksize = 10 ** 6
for chunk in pd.read_csv(filename, chunksize=chunksize):
    process(chunk)
Run Code Online (Sandbox Code Playgroud)


Dyl*_*n_w 5

一种选择是使用 Pandas。例如:

import pandas as pd
# Select file 
infile = r'path/file'
# Use skiprows to choose starting point and nrows to choose number of rows
data = pd.read_csv(infile, skiprows = 50, nrows=10)
Run Code Online (Sandbox Code Playgroud)