如何获取CSV文件的行数?

TmX*_*EKT 2 python csv row count

fieldnames = ['first_name', 'last_name', 'address']
with open('names.csv') as csvfile:
    reader = csv.DictReader(csvfile, fieldnames=fieldnames)
    for row in reader:
        print(row['first_name'], "'s number", row['last_name'], "address", row['adres'])
Run Code Online (Sandbox Code Playgroud)

这是我打印CSV文件的代码.如果CSV文件为空,我想打印它是空的.我想如果我能得到文件的行数,我可以检查它是否为空.

Rom*_*est 8

使用sum函数获取行计数的有效方法(使用生成器表达式):

with open('names.csv') as csvfile:
    row_count = sum(1 for row in csvfile)
    print(row_count if row_count else 'Empty')
Run Code Online (Sandbox Code Playgroud)


Jea*_*bre 6

做就是了

len(list(reader))
Run Code Online (Sandbox Code Playgroud)

它遍历reader对象创建一个列表,然后计算长度和数量或行是列表长度(标题不包括在内)

请注意,此语句使用该文件,因此list(reader)如果您计划解析该文件,请将该变量存储在某处.