Como se referir a um dicionário usando a string de entrada que é o nome do dicionário
Nov 26 2020
Eu escrevo um código que cria a lista de compras em excel (mostra preço, nome de cada produto e mostra preço total no final).
Por exemplo, ele obtém um certo número de strings que também são nomes de dicionário.
E cria um arquivo excel com uma lista de compras, seu preço e preço total no final.
Não sei qual será o dicionário, mas quero obter um preço que é um par de chaves.
Código: import openpyxl as 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')
Respostas
2 fischmalte Nov 26 2020 at 23:24
Acho que o que você deve estar procurando é locals()
, que mantenha, entre outras, as variáveis disponíveis no escopo local, veja este post .
my_dict = {'apples': 4}
# assume user input is `my_dict`
dict_name = input()
# return the dictionary's values
print(locals()[dict_name])
Assim como uma nota lateral, em vez de usar openpyxl
, eu recomendo usar pandas dataframes , que implementam .to_csv
e .from_csv
e para mim é muito mais amigável.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas