这感觉就像一个非常基本的问题,但我在其他地方找不到任何提及.我是Python用户的开始.
当我使用DictReader读入数据,然后使用字典时,我无法再次引用它.例如,使用此代码:
#!/usr/bin/python
import csv
import cgi
import cgitb
cgitb.enable()
print "
Title"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 ""
只会打印出一次blurbs.csv的内容.第二个“for blur in blur:”什么也没做.有什么我想念的吗?如何将字典变成我可以反复引用的内容?
解决方法:
您只需要将文件追回到开头:
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
或者,您可以将字典生成包装成一个dicts列表并对其进行操作:
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
标签:python,dictionary,csv