Чтение из CSVs в Python неоднократно?

Я пытаюсь проверить значение извлеченных данных против csv, который я уже имею. Это только циклично выполнится через строки CSV однажды, я могу только проверить одно значение feed.items (). Существует ли значение, которое я должен сбросить где-нибудь? Существует ли лучше/больше эффективный способ сделать это?Спасибо.

orig = csv.reader(open("googlel.csv", "rb"), delimiter = ';')
goodrows = []
for feed in gotfeeds:    
   for link,comments in feed.items():
       for row in orig:
           print link
           if link in row[1]:
               row.append(comments)
               goodrows.append(row)
22
задан matt 19 May 2010 в 18:42
поделиться

2 ответа

Вы можете "сбросить" итератор CSV, сбросив позицию чтения объекта файла.

data = open("googlel.csv", "rb")
orig = csv.reader(data, delimiter = ';')
goodrows = []
for feed in gotfeeds:    
   for link,comments in feed.items():
       data.seek(0)
       for row in orig:
           print link
           if link in row[1]:
               row.append(comments)
               goodrows.append(row)
36
ответ дан 29 November 2019 в 04:20
поделиться

Делая orig списком, вы избегаете необходимости сбрасывать/пересобирать csv:

orig = list(csv.reader(open("googlel.csv", "rb"), delimiter = ';'))
12
ответ дан 29 November 2019 в 04:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: