Живая проверка csv на python

#python #csv #reader

Вопрос:

Как проверить csv данные с помощью python live (я имею в виду каждые 0,1 секунды)?
Когда я использую этот код:

 while True:
    with open('file.csv') as csvDataFile:
        csvReader = csv.reader(csvDataFile)
        for row in csvReader:
            url.append(row[1])
            if url[1] == "WAIT":
                    time.sleep(0.1)
            else:
                break
 

Когда я изменяю данные вручную в csv, я получаю эту ошибку:
процесс не может получить доступ к файлу, потому что используется другой процесс.

Ответ №1:

Следует отметить, что при доступе к CSV-файлу ваш код не сможет его загрузить. Как только вы закроете файл, он будет загружен снова.

Чтобы заставить ваш код ждать, пока вы закроете файл, вы должны использовать try/except метод с исключением, заканчивающимся на continue .

 while True:
    try:
        with open('file.csv') as csvDataFile:
            csvReader = csv.reader(csvDataFile)
            for row in csvReader:
                url.append(row[1])
                if url[1] == "WAIT":
                    time.sleep(0.1)
                else:
                    break
    except Exception as e:
        print(e)
        continue
 

Комментарии:

1. Извини, я виноват. Попытка/исключение должна быть в while True цикле. Исправлен код в ответе

2. Братан, я понял 😀 каждый URL-адрес цикла[1] всегда один и тот же, поэтому я должен очистить список. Тай так сильно

Ответ №2:

Попробуйте это;

 while True:
    with open("file.csv","r") as csvDataFile:
        csvReader = csv.reader(csvDataFile)

    #Your Code#

    time.sleep(0.1)