इनपुट स्ट्रिंग का उपयोग करते हुए एक शब्दकोश को कैसे संदर्भित करें जो कि शब्दकोश का नाम है

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])

बस एक साइड नोट के रूप में, उपयोग करने के बजाय openpyxl, मैं पांडा डेटाफ्रेम का उपयोग करने की सिफारिश करूंगा , जो लागू होता है .to_csvऔर .from_csvमेरे लिए बहुत अधिक उपयोगकर्ता के अनुकूल है।