大熊猫中的块总数

Leb*_*Leb 6 python pandas

在下面的脚本中,有没有办法找出总共有多少"块"?

import pandas as pd
import numpy as np

data = pd.read_csv('data.txt', delimiter = ',', chunksize = 50000) 

for chunk in data:
    print(chunk)
Run Code Online (Sandbox Code Playgroud)

使用len(chunk)只会给我每个人有多少.

有没有办法在不手动添加迭代的情况下执行此操作?

Ami*_*ory 6

CSV是基于行的,它不允许进程在扫描完所有行之前知道它中有多少行.

但是,假设CSV文件格式正确,则必须进行极少的扫描:

sum(1 for row in open('data.txt', 'r'))
Run Code Online (Sandbox Code Playgroud)

如果您需要事先计算出有多少块,这可能会很有用.完整的CSV阅读器对此非常有用.上面的行具有非常低的内存要求,并且解析很少.