사전의 이름 인 입력 문자열을 사용하여 사전을 참조하는 방법

Nov 26 2020

엑셀에서 구매 목록을 생성하는 코드를 작성합니다 (가격, 각 제품의 이름 및 마지막에 총 가격을 표시).

예를 들어 사전 이름이기도 한 몇 가지 문자열을 가져옵니다.

그리고 마지막에 구매 목록, 가격 및 총 가격이 포함 된 엑셀 파일을 생성합니다.

어떤 사전이 될지 모르겠지만 키 페어 인 가격을 받고 싶습니다.

코드 : 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])

참고로를 사용하는 대신 pandas dataframesopenpyxl 를 사용하는 것이 좋습니다.이 pandas dataframes 는 구현 .to_csv하고 .from_csv나에게 훨씬 더 사용자 친화적입니다.