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'])

Это мой код для печати моего файла CSV. Если файл CSV пуст, я хочу напечатать, что он пуст. Я думал, что если я могу получить количество строк файла, я могу проверить, если он пуст.

2
TmX GordioN REKT 9 Янв 2017 в 20:21

3 ответа

Вы также можете перечислить записи при разборе файла следующим образом:

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")
0
Martin Evans 9 Янв 2017 в 17:47

Эффективный способ получить количество строк с помощью функции sum выражением генератора ):

with open('names.csv') as csvfile:
    row_count = sum(1 for row in csvfile)
    print(row_count if row_count else 'Empty')
8
RomanPerekhrest 9 Янв 2017 в 17:26

Что насчет этого :

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

Верните true, если оно пустое, вы хотите это правильно?

0
user6022512user6022512 9 Янв 2017 в 17:28