Mam pliku csv w następującej formie,pyton odczytać pliku csv z nagłówków wierszy i kolumn w słowniku z dwoma kluczami
,col1,col2,col3
row1,23,42,77
row2,25,39,87
row3,48,67,53
row4,14,48,66
muszę przeczytać w słowniku dwóch kluczy tak, że
dict1['row1']['col2'] = 42
dict1['row4']['col3'] = 66
Jeśli próbuję użyć csv.DictReader z domyślnymi opcjami
with open(filePath, "rb") as theFile:
reader = csv.DictReader(theFile, delimiter=',')
for line in reader:
print line
uzyskać następujące Wyjście
{'': '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'}
nie jestem pewien, w jaki sposób przetwarzać tego wyjścia do stworzenia rodzaj słownika, który mnie interesuje.
Dla Uzupełniająco to również pomóc, jeśli można zająć jak do zapisania słownika w pliku csv w powyższym formacie:
To działa i wygląda elegancko – WanderingMind
Mam jeden problem, wartości w dyktafonie są łańcuchami, a nie liczbami całkowitymi. Jak mogę się upewnić, że wartości w słowniku są liczbami całkowitymi? – WanderingMind
Zobacz moją edycję - po prostu wywołaj 'int()' na każdej wartości; jednak nie powiedzie się, jeśli nawet jedna wartość nie może być przekształcona na liczbę całkowitą. –