#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)