我正在创建一个临时CSV文件:
for formname in formnamesFinal:
csv = tempfile.NamedTemporaryFile("w", prefix=formname+'_', suffix=".csv", dir = "/var/tmp/")
csv.write(....)
我正在写一些东西。现在我想用DictReader读取这个文件:
content = csv.DictReader(csv, delimiter=';')
for contenthelp in content:
contentlist.append(contenthelp)
但我收到以下错误:
AttributeError: 'file' object has no attribute 'DictReader'
我必须逐步浏览临时CSV文件,因为我有大量数据集可以从数据库中获取以下步骤,而且反复加载数据需要花费太多时间。
答案 0 :(得分:4)
csv = tempfile.NamedTemporaryFile("w", prefix=formname+'_', suffix=".csv", dir = "/var/tmp/")
此行会覆盖您对csv
模块的引用。尝试将其重命名为其他内容。
my_csv = tempfile.NamedTemporaryFile("w", prefix=formname+'_', suffix=".csv", dir = "/var/tmp/")
现在您应该可以再次正确访问csv
。
答案 1 :(得分:3)
看起来好像上面解决了海报的问题,但是对于其他任何人收到此错误,我看到的另一个错误是你的python脚本的文件名是csv.py。