反复从Python中读取CSV?

时间:2010-05-19 18:42:11

标签: python csv

我正在尝试检查已提取的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)

2 个答案:

答案 0 :(得分:35)

您可以通过重置文件对象的读取位置来“重置”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)

答案 1 :(得分:10)

使orig列表无需重置/重新分析csv:

orig = list(csv.reader(open("googlel.csv", "rb"), delimiter = ';'))