Ho file CSV con il seguente formato,pitone leggere file CSV con le intestazioni di righe e colonne in dizionario con due chiavi
,col1,col2,col3
row1,23,42,77
row2,25,39,87
row3,48,67,53
row4,14,48,66
ho bisogno di leggere questo in un dizionario di due tasti in modo tale che
dict1['row1']['col2'] = 42
dict1['row4']['col3'] = 66
Se provo ad usare csv.DictReader con le opzioni predefinite
with open(filePath, "rb") as theFile:
reader = csv.DictReader(theFile, delimiter=',')
for line in reader:
print line
ottengo il seguente Uscita
{'': 'row1', 'col2': '42', 'col3': '77', 'col1': '23'}
{'': 'row2', 'col2': '39', 'col3': '87', 'col1': '25'}
{'': 'row3', 'col2': '67', 'col3': '53', 'col1': '48'}
{'': 'row4', 'col2': '48', 'col3': '66', 'col1': '14'}
non sono sicuro di come elaborare questa uscita per creare il tipo di dizionario che mi interessa.
Per completezza, sarebbe anche utile se si può affrontare come per riscrivere il dizionario in un file csv con il formato sopraindicato
Che funziona e sembra elegante – WanderingMind
Ho un problema, i valori nel dict sono stringhe e non interi. Come posso assicurarmi che i valori nel dizionario siano numeri interi – WanderingMind
Vedere la mia modifica - basta chiamare 'int()' su ogni valore; tuttavia, ciò non riuscirà se neanche un singolo valore non può essere convertito in un numero intero. –