Подтвердить что ты не робот

Количество строк в файле csv

Я, вероятно, делаю глупую ошибку, но я не могу найти, где она. Я хочу подсчитать количество строк в моем файле csv. Я написал это, и, очевидно, не работает: у меня есть row_count = 0, тогда как это должно быть 400. Приветствия.

f = open(adresse,"r")
reader = csv.reader(f,delimiter = ",")
data = [l for l in reader]
row_count = sum(1 for row in reader)

print row_count
4b9b3361

Ответ 1

with open(adresse,"r") as f:
    reader = csv.reader(f,delimiter = ",")
    data = list(reader)
    row_count = len(data)

Вы пытаетесь прочитать файл дважды, когда указатель файла уже достиг конца файла после сохранения списка data.

Ответ 2

Сначала вам нужно открыть файл с открытым

input_file = open("nameOfFile.csv","r+")

Затем используйте csv.reader для открытия csv

reader_file = csv.reader(input_file)

В последнем случае вы можете взять число строк с инструкцией 'len'

value = len(list(reader_file))

Общий код:

input_file = open("nameOfFile.csv","r+")
reader_file = csv.reader(input_file)
value = len(list(reader_file))

Помните, что если вы хотите повторно использовать файл csv, вам нужно создать файл input_file.fseek(0), потому что, когда вы используете список для файла reader_file, он считывает весь файл, а указатель в файле меняет свою позицию

Ответ 3

Если вы работаете с python3 и у вас установлена библиотека pandas, вы можете перейти с помощью

import pandas as pd

results = pd.read_csv('f.csv')

print(len(results))