Sto provando a scrivere un dizionario nidificato in un file .csv. Ecco un semplice esempio:Python: scrittura del dizionario annidato in CSV
import csv
import itertools
fields = [ 'org', '2015', '2014', '2013' ]
dw = { 'orgname1': { '2015' : 2, '2014' : 1, '2013' : 1 },
'orgname2': { '2015' : 1, '2014' : 2, '2013' : 3 },
'orgname3': { '2015' : 1, '2014' : 3, '2013' : 1 }
}
with open("test_output.csv", "wb") as f:
w = csv.writer(f)
years = dw.values()[0].keys()
for key in dw.keys():
w.writerow([key, [dw[key][year] for year in years]])
Questo mi fa una tabella con due colonne: la prima contiene orgname
; il secondo contiene [2, 1, 1] (o i valori corrispondenti dal sottot dizionario). Mi piacerebbe un tavolo con quattro colonne: uno per orgname
e poi tre per gli elementi di elenco corrispondenti.
dts non hanno ordine quindi sei nei guai immediatamente –
@PadraicCunningham concordato. Tuttavia, le sue chiavi sembrano seguire un ordine lessografico. Quindi, poteva ancora farlo funzionare ordinando dw.keys() e quindi iterando su quello. –