首页 > 解决方案 > 跳过前 48 行后用 python 的 Pandas 逐行读取

问题描述

标题是相当解释性的。

我有一个很长的 CSV 文件,我想用以下代码逐行读取:

lines = []
for line in pd.read_csv(file, chunksize = 1, header = None):
    lines.append(line.iloc[0 0])
print(lines)

我想跳过前 48 行。起初它看起来很简单,我认为我需要做的就是将我的读取功能更改为:

pd.read_csv(file,chunksize = 1, header = None, skiprows = 48):

可悲的是,这似乎产生了每个循环跳过 48 行的效果。不是很好的结果。

如何逐行读取有效读取此文件的同时跳过这个长而不规则文件的前 48 行?

标签: pythonpandascsvline-by-line

解决方案


您可以将 skiprows 设置为在第一次执行后重置的变量。

lines = []
row_skip = 48
for line in pd.read_csv(file, chunksize = 1, header = None,skiprows=row_skip):
    lines.append(line.iloc[0,0])
    if row_skip:
        row_skip = None
print(lines)

推荐阅读