Skip to main content
 首页 » 编程设计

python之如何计算多个csv文件中的行数

2025年05月04日9lonelyxmas

我有如下所示的 csv 文件

文件1

A B 
1 2 
3 4 

文件2

A B 
1 2 

文件3

A B 
1 2 
3 4 
5 6 

我想计算所有csv文件中的行数

我试过了

f=pd.read_csv(file1)

f.shape

但是当我有很多 csv 文件时,它会花费太多时间。

我想得到如下结果

      rows 
file1  2 
file2  1 
file3  3 

我怎样才能得到这个结果?

请您参考如下方法:

您可以创建所有文件的 length 的 dict,然后为 DataFrame 创建 Seriesm 添加 to_frame :

import glob 
import pandas as pd 
 
files = glob.glob('files/*.csv') 
 
d = {f: sum(1 for line in open(f)) for f in files} 
 
print (pd.Series(d)) 
 
print (pd.Series(d).rename('rows').rename_axis('filename').reset_index()) 

open 不保证文件被正确关闭,所以另一种解决方案:

def file_len(fname): 
    with open(fname) as f: 
        for i, l in enumerate(f): 
            pass 
    return i + 1 
 
d = {f: file_len(f) for f in files}