Python - 偶然发现"' DictReader'对象不是可订阅的"

时间:2015-04-06 21:41:43

标签: python dictionary

我不知道这个错误是由什么造成的,或者如何解决它。

基本上,我尝试实现的是从.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" (或应该是)字典。

非常感谢你。

1 个答案:

答案 0 :(得分:4)

csv.DictReader类在csv数据源上提供了一个可迭代的接口,其中的项是字典:

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