Python-偶然发现“'DictReader'对象不可下标”

Med*_*yon 4 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=",")
Run Code Online (Sandbox Code Playgroud)

尝试跑步时

print(ClassesDict)
Run Code Online (Sandbox Code Playgroud)

要么

print(ClassesDict["ID"])
Run Code Online (Sandbox Code Playgroud)

它总是给我错误:

TypeError: 'DictReader' object is not subscriptable
Run Code Online (Sandbox Code Playgroud)

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

提前非常感谢您。

ale*_*cxe 6

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

reader = csv.DictReader(Classes, delimiter=",")
for row in reader:
    print(row["ID"])
Run Code Online (Sandbox Code Playgroud)