Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何获取CSV文件的行数?_Python_Csv_Count_Row - Fatal编程技术网

Python 如何获取CSV文件的行数?

Python 如何获取CSV文件的行数?,python,csv,count,row,Python,Csv,Count,Row,这是我打印CSV文件的代码。如果CSV文件是空的,我想打印它是空的。我想如果我能得到文件的行数,我就可以检查它是否为空。就这样做吧 fieldnames = ['first_name', 'last_name', 'address'] with open('names.csv') as csvfile: reader = csv.DictReader(csvfile, fieldnames=fieldnames) for row in reader: print(

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

就这样做吧

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'])
它通过
读卡器
对象来创建一个列表,然后计算长度&数字或行数是列表长度(不包括标题)


请注意,此语句使用文件,因此如果您计划分析文件,请将
列表(读取器)
变量存储在某个位置。

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

那么这个呢:

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

如果为空,则返回true,是否正确?

在解析文件时,还可以按如下方式枚举条目:

import os
os.stat("names.csv").st_size == 0

如果只有标题行,则会失败。可能重复
import os
os.stat("names.csv").st_size == 0
fieldnames = ['first_name', 'last_name', 'address']

with open('names.csv') as csvfile:
    reader = csv.DictReader(csvfile, fieldnames=fieldnames)
    for count, row in enumerate(reader):
        print(row['first_name'], "'s number", row['last_name'], "address", row['address'])            

    if count == 0:
        print("empty")