我有一个包含100000行的csv文件,我想一次读取10行,并处理每行,每次保存到各自的文件中,然后休眠5秒。 我正在尝试Nslice,但它只读取前10个字符并停止。 我希望程序运行到EOF。我用的是jupyter,python2&;如果这有什么帮助的话
from itertools import islice
with open("per-vehicle-records-2020-01-31.csv") as f:
while True:
next_n_lines = list(islice(f, 10))
if not next_n_lines:
break
else:
print(next_n_lines)
sleep(5)
这不会将每一行分开。它将10行合并成一个列表
['"cosit","year","month","day","hour","minute","second","millisecond","minuteofday","lane","lanename","straddlelane","straddlelanename","class","classname","length","headway","gap","speed","weight","temperature","duration","validitycode","numberofaxles","axleweights","axlespacings"\n', '"000000000997","2020","1","31","1","30","2","0","90","1","Test1","0","","5","HGV_RIG","11.4","2.88","3.24","70.0","0.0","0.0","0","0","0","",""\n', '"000000000997","2020","1","31","1","30","3","0","90","2","Test2","0","","2","CAR","5.2","3.17","2.92","71.0","0.0","0.0","0","0","0","",""\n', '"000000000997","2020","1","31","1","30","5","0","90","1","Test1","0","","2","CAR","5.1","2.85","2.51","70.0","0.0","0.0","0","0","0","",""\n', '"000000000997","2020","1","31","1","30","6","0","90","2","Test2","0","","2","CAR","5.1","3.0","2.94","69.0","0.0","0.0","0","0","0","",""\n', '"000000000997","2020","1","31","1","30","9","0","90","1","Test1","0","","5","HGV_RIG","11.5","3.45","3.74","70.0","0.0","0.0","0","0","0","",""\n', '"000000000997","2020","1","31","1","30","10","0","90","2","Test2","0","","2","CAR","5.4","3.32","3.43","71.0","0.0","0.0","0","0","0","",""\n', '"000000000997","2020","1","31","1","30","13","0","90","2","Test2","0","","2","CAR","5.3","3.19","3.23","71.0","0.0","0.0","0","0","0","",""\n', '"000000000997","2020","1","31","1","30","13","0","90","1","Test1","0","","2","CAR","5.2","3.45","3.21","70.0","0.0","0.0","0","0","0","",""\n', '"000000000997","2020","1","31","1","30","16","0","90","1","Test1","0","","5","HGV_RIG","11.0","2.9","3.13","69.0","0.0","0.0","0","0","0","",""\n']
这应该起作用:
chunksize将每10行读取一次,for循环应确保以这种方式读取它们,并在每次迭代之间休眠5秒
islice重新运行一个生成器,因此在分配它之后需要进行迭代
你在这里读到更多How to read file N lines at a time in Python?
相关问题 更多 >
编程相关推荐