Iteration through nested dict
Verfasst: Montag 6. Juni 2022, 20:51
Hallo zusammen,
ich möchte Werte aus einem nested dict aufzählen und später in eine mysql DB schreiben.
Daten:
data.py:
import_data.py:
Ich bekomme leider:
11.0
11.0
11.0
11.0
15.0
15.0
15.0
15.0
4.0
4.0
4.0
4.0
8.0
8.0
8.0
8.0
18.0
18.0
18.0
18.0
22.0
22.0
22.0
22.0
....
Wie kann ich es schaffen, alle möglichen Kombinationen innerhalb der Funktion zu bekommen, damit ich diese Werte in die MySQL DB schreiben kann?
ich möchte Werte aus einem nested dict aufzählen und später in eine mysql DB schreiben.
Daten:
data.py:
Code: Alles auswählen
pmetals = ("Ag", "Au", "Pd")
currencies = ("usd", "eur")
units = ("oz", "g", "kg", "lbs")
cur_pm_prices = {
"Au": {
"usd": {
"oz": 1854.23,
"g": 1.0, # fix
"kg": 2.0, # fix
"lbs": 4.0 # fix
},
"eur": {
"oz": 5.0, # fix
"g": 6.0, # fix
"kg": 7.0, # fix
"lbs": 8.0 # fix
}
},
"Ag": {
"usd": {
"oz": 22.54,
"g": 9.0, # fix
"kg": 10.0, # fix
"lbs": 11.0 # fix
},
"eur": {
"oz": 12.0, # fix
"g": 13.0, # fix
"kg": 14.0, # fix
"lbs": 15.0 # fix
}
},
"Pd": {
"usd": {
"oz": 1980.0,
"g": 16.0, # fix
"kg": 17.0, # fix
"lbs": 18.0 # fix
},
"eur": {
"oz": 19.0, # fix
"g": 20.0, # fix
"kg": 21.0, # fix
"lbs": 22.0 # fix
}
}
}
import_data.py:
Code: Alles auswählen
def get_pm_price(pm, cur, unit):
pm_price = ((data.cur_pm_prices.get(pm)).get(cur)).get(unit)
for unit in data.units:
pm_price = ((data.cur_pm_prices.get(pm)).get(cur)).get(unit)
print(pm_price)
return
def get_pmetal_prices():
for pm in data.pmetals:
for cur in data.currencies:
for unit in data.units:
get_pm_price(pm, cur, unit)
return
get_pmetal_prices()
11.0
11.0
11.0
11.0
15.0
15.0
15.0
15.0
4.0
4.0
4.0
4.0
8.0
8.0
8.0
8.0
18.0
18.0
18.0
18.0
22.0
22.0
22.0
22.0
....
Wie kann ich es schaffen, alle möglichen Kombinationen innerhalb der Funktion zu bekommen, damit ich diese Werte in die MySQL DB schreiben kann?