Я пытаюсь прочитать файл CSV, только если у меня есть от 200 до 400 записей - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь прочитать файл CSV, только если в нем содержится от 200 до 400 записей. Я хочу, чтобы это игнорировалось иначе. По какой-то странной причине мой код никогда не достигает print (row) line

with open(file) as csv_file:
    row_count = sum(1 for line in csv_file)
    if (row_count>200 and row_count<400):
        csv_reader = csv.reader(csv_file, delimiter=',')
        for row in csv_reader:
            print(row)

Ответы [ 2 ]

0 голосов
/ 16 апреля 2020

Я все еще пытаюсь выяснить, почему, но вам нужно снова прочитать файл после подсчета строк.

with open(file) as csv_file:
    row_count = sum(1 for line in csv_file)

if (row_count > 200 and row_count < 400):
    with open(file) as csv_file:
        csv_reader = csv.reader(csv_file, delimiter=',')
        for row in csv_reader:
            print(row)
0 голосов
/ 16 апреля 2020

Вы забыли прочитать данные из файла. Чтобы получить данные, которые вам нужны csv_file.read() Несмотря на это, есть много хлопот в отношении обработки файла.

Я предлагаю использовать модуль pandas из-за его простоты.

import pandas as pd

data =  pd.read_csv(r'filepath')
if 200<len(data)<400:
    print('True',len(data))
...