Comment faire référence à un dictionnaire en utilisant la chaîne d'entrée qui est le nom du dictionnaire
J'écris un code qui crée la liste des achats dans Excel (montre le prix, le nom de chaque produit et montre le prix total à la fin).
Par exemple, il obtient un certain nombre de chaînes qui sont également des noms de dictionnaire.
Et il crée un fichier Excel avec une liste d'achats, leur prix et le prix total à la fin.
Je ne sais pas quel dictionnaire ce sera mais je veux obtenir un prix qui est une paire de clés.
Code: importer openpyxl en tant que 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')
Réponses
Je suppose que vous recherchez peut-être locals()
, qui conserve, entre autres, les variables disponibles dans la portée locale, voir cet article .
my_dict = {'apples': 4}
# assume user input is `my_dict`
dict_name = input()
# return the dictionary's values
print(locals()[dict_name])
Tout comme une note de côté, au lieu d'utiliser openpyxl
, je vous recommande d'utiliser pandas géants dataframes , qui mettent en œuvre .to_csv
et .from_csv
et pour moi est beaucoup plus convivial.