我的CSV文件是
200
Service
我在解释器中输入的代码是
snav = csv.DictReader(open("screennavigation.csv"), delimiter=',')
print snav.fieldnames
['200']
for line in snav:
... print(line)
...
{'200': 'Service'}
snav["200"]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: DictReader instance has no attribute '__getitem__'
我认为DictReader
是为了返回字典。我怀疑我错过了一些非常明显的东西。
答案 0 :(得分:4)
DictReader
生成字典列表。每一行本身都是一个字典 - 当你在for循环中迭代时显示。
(好吧,它实际上是一个可迭代的,而不是列表,但重点是。)
答案 1 :(得分:3)
snav
对象是DictReader
实例,不应该作为字典访问。在迭代时,它会生成可以相应访问的字典:您需要line['200']