如何在初始化DataFrame时创建进度条?

时间:2014-07-14 13:30:59

标签: python pandas progress-bar dataframe

当我将.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%的进度条

1 个答案:

答案 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 ---