在python中加载之前如何知道CSV行数?

Avi*_*vij 3 python numpy pandas

我是 python 新手,需要从各种 CSV 文件加载数据帧。事实证明,有一个业务逻辑取决于 csv 中的行数。如果我可以在不写 read_csv 的情况下知道 CSV 总行数,我可以事先知道吗?

Max*_*axU 5

是的你可以:

lines = sum(1 for line in open('/path/to/file.csv'))
Run Code Online (Sandbox Code Playgroud)

但请注意 Pandas 会再次读取整个文件

如果您确定整个文件适合内存,我们可以这样做:

with open('/path/to/file.csv') as f:
    data = f.readlines()
    lines = len(data)
    df = pd.read_csv(data, ...)
Run Code Online (Sandbox Code Playgroud)