如何使用作为字典名称的输入字符串引用字典



我写了一个代码,在excel中创建购买列表(显示价格、每种产品的名称并在最后显示总价(。

例如,它得到一些字符串,这些字符串也是字典名称。

它创建了一个excel文件,其中包含购买清单、价格、,以及最后的总价。

我不知道它会是什么词典,但我想知道价格这是一对密钥。

代码:将openpyxl导入为xl

Milk = {
"name": "Milk",
"price":  1,
"id": "01",
}

Chicken = {
"name": "Chicken",
"price": 5,
"id": "02"
}
wb = xl.load_workbook('List.xlsx')

sheet = wb['Лист1']

command = ''

num = int(input())

for row in range(2,num):
command = input()

value = command
command = sheet.cell(row,1)
command.value = value
command = sheet.cell(row,2)
key = 'price'

command.value = command.get("price")
wb.save('transactions3.xlsx')

我想您可能想要的是locals(),它将可用变量保留在本地范围内,请参阅本文。

my_dict = {'apples': 4}
# assume user input is `my_dict`
dict_name = input()
# return the dictionary's values
print(locals()[dict_name])

顺便说一句,我建议使用pandas数据帧,而不是使用openpyxl,它实现了.to_csv.from_csv,对我来说用户友好得多。

最新更新