AttributeError:' file'对象没有属性' DictReader'

时间:2014-08-07 15:25:46

标签: python csv dictionary temporary-files

我正在创建一个临时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文件,因为我有大量数据集可以从数据库中获取以下步骤,而且反复加载数据需要花费太多时间。

2 个答案:

答案 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。