当我将.csv
文件加载到数据帧中时,我想在每次创建新行时获取行数:
def file_len(fname):
with open(fname) as f:
for i, l in enumerate(f):
pass
return i + 1
csv_path = "C:/...."
max_length = file_len(csv_path)
data = read_csv(csv_path, sep=';', encoding='utf-8')
使用该代码,我获得了最大行数,但我不知道如何在每次创建一行时获取数据帧中的行数。 我想用它们来制作0-100%的进度条
答案 0 :(得分:6)
你不能这样做 - 你必须修改read_csv
函数和pandas中的其他函数。
编辑:
现在看来它可以用chunksize=rows_number
完成。
仅使用iterator=True
对我不起作用 - 或者可能需要更多行。
感谢 Jeff
试试这个
import pandas as pd
from StringIO import StringIO
data = """A,B,C
foo,1,2,3
bar,4,5,6
baz,7,8,9
"""
reader = pd.read_csv(StringIO(data), chunksize=1)
for x in reader:
print x
print '--- next data ---'
结果:
A B C
foo 1 2 3
--- next data ---
A B C
bar 4 5 6
--- next data ---
A B C
baz 7 8 9
--- next data ---