这似乎是一个非常基本的问题,但我在别处找不到任何提及。我是一个开始使用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