这似乎是一个非常基本的问题,但我在别处找不到任何提及。我是一个开始使用python的用户。
当我用听写器读数据,然后用字典时,我再也不能引用了。例如,使用此代码:

#!/usr/bin/python

import csv
import cgi
import cgitb
cgitb.enable()

print "<head><title>Title</title></head><body>"

f = open("blurbs.csv","rb")
blurbs = csv.DictReader(f, delimiter="\t")
for row in blurbs:
    print row
for row in blurbs:
    print row

f.close()
print "</body>"

将只打印一次blurbs.csv的内容。第二个“为行在布鲁布斯:”什么也不做。我有什么东西不见了吗?我怎样才能把字典编成我可以反复引用的东西呢?

最佳答案

您只需重新开始查找文件:

with open("blurbs.csv","rb") as f:
    blurbs = csv.DictReader(f, delimiter="\t")
    for row in blurbs:
        print row
    f.seek(0)
    for row in blurbs:
        print row

或者,您可以将字典生成包装到字典列表中,并对其进行操作:
with open("blurbs.csv","rb") as f:
    blurbs = list(csv.DictReader(f, delimiter="\t"))
for row in blurbs:
    print row
for row in blurbs:
    print row

09-11 13:26