我只想从 csv 文件中的某一行开始读取一定数量的行,而不需要遍历整个 csv 文件以达到这个特定点。
假设我有一个包含 100 行的 csv 文件,我只想读取第 50 行到第 60 行。我不想从第 1 行到第 49 行迭代以到达第 50 行以开始读取。我可以用seek()以某种方式实现这一目标吗?
例如:Seek to row 50 read from 50 to 60
下一次:寻求第 27 行读取 27 到 34,依此类推
因此,不仅在文件中继续向前查找,而且还向后查找。
非常感谢
您可以使用块大小
import pandas as pd
chunksize = 10 ** 6
for chunk in pd.read_csv(filename, chunksize=chunksize):
process(chunk)
Run Code Online (Sandbox Code Playgroud)
一种选择是使用 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)