2015-04-06 162 views
1

我不知道这个错误是由什么引起的,或者如何解决它。Python - 陷入“'DictReader'对象是不可下标的”

基本上,我试图实现的是从一个.csv文件读取并从它里面的信息做一个字典。 我以前做过没有任何问题,但这次真的很奇怪。

#Read External Data 
DataNames = os.listdir("Data") 

#Import Classes 
ClassesPath = os.path.join("Data", DataNames[1]) 
Classes = open(ClassesPath) 
global ClassesDict 
ClassesDict = csv.DictReader(Classes, delimiter=",") 

在试图运行

print(ClassesDict) 

print(ClassesDict["ID"]) 

它总是给我的错误:

TypeError: 'DictReader' object is not subscriptable 

我知道,列表,字典等。是可以下标的对象,但是我的变量“ClassesDict”(或应该是)字典。

非常感谢您提前。

+0

是你所有的代码?你没有显示你在迭代'DictReader'的位置来获取行......你没有这样做吗? – kindall

+0

我确实没有那样做。我认为只有变量可以按原样工作。 – Medallyonify

回答

3

csv.DictReader类提供一个可迭代的界面上,其中项目是字典CSV数据源:

reader = csv.DictReader(Classes, delimiter=",") 
for row in reader: 
    print(row["ID"]) 
相关问题