辞書の名前である入力文字列を使用して辞書を参照する方法

Nov 26 2020

購入のリストを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')

回答

2 fischmalte Nov 26 2020 at 23:24

私はあなたが探しているかもしれないものlocals()は、とりわけ、ローカルスコープで利用可能な変数を保持していることだと思います。この投稿を参照してください。

my_dict = {'apples': 4}

# assume user input is `my_dict`
dict_name = input()

# return the dictionary's values
print(locals()[dict_name])

補足として、を使用する代わりにopenpyxl、パンダのデータフレームを使用することをお勧めします。これは、実装され.to_csv.from_csvおり、私にとってははるかにユーザーフレンドリーです。