如何在下面的代码中打印字典中的值?

How can I print a value from dictionary on the below code?

我正在编写一个从不同 excel 工作簿中获取数据的代码,有人建议我将这些数据放入字典中。这是代码:

d={}
for file in range(len(filenames)):
    d[f'{file}'] = pd.read_excel(filenames[file], nrows = 32, usecols="A:D").fillna("")

问题是我现在不知道如何打印字典中的特定值。

print(d.keys()) 给我一个答案:dict_keys(['0', '1'])

下面的代码工作正常:

for key in d:
  print (d[key])

但是当我写: print(d[1]) 我得到一个错误 "KeyError: 1"

字典不使用索引来引用字典中的项目,例如列表和元组。 在 for key in d: print (d[key]) 中,如果您打印出密钥,您将看到密钥是什么。然后您可以通过 print(d["key_name"])

单独引用它们

要将它们显示为 print(d[1]) 将键更改为整数而不是字符串 d[f'{file}']d[file]

从技术上讲,这不是您问题的答案,但您可以将其用作补充。

您最好使用字典理解和文件名作为键:

d = {file: pd.read_excel(file, nrows = 32, usecols="A:D").fillna("")
           for file in filenames}
#Use: d["some_file_name.xls"]

如果您仍然想使用文件编号,那么您需要一个列表,而不是字典:

l = [pd.read_excel(file, nrows = 32, usecols="A:D").fillna("") 
     for file in filenames]
#Use: l[0]