У меня есть CSV с первым столбцом, имеющим множество повторяющихся значений, а второй столбцом является предопределенным кодом, который отображает до значения в третьей колонке, например, следующим образом:Python - Создание словаря словарей из CSV
1, a, 24
1, b, 13
1, c, 30
1, d, 0
2, a, 1
2, b, 12
2, c, 82
2, d, 81
3, a, 04
3, b, 23
3, c, 74
3, d, 50
Я пытаюсь создать словарь словарей из в CSV, что приведет к следующему:
dict 1 = {'1':{'a':'24', 'b':'13', 'c':'30','d':'0'},
'2':{'a':'1', 'b':'12', 'c':'82','d':'81'},
... }
Мой код создает ключевые ценности просто отлично, но результирующее значение словари все пустые (хотя некоторые заявления печати показали, что они не во время выполнения сс) ...
with open(file, mode='rb') as csvfile:
reader = csv.reader(csvfile, delimiter=',')
dict1 = {} # creates main dict
for row in reader: # iterates through the rows of the csvfile
if row[0] in dict1:
dict2[row[1]] = row[2] # adds another key, value to dict2
else:
dict1[row[0]] = {} # creates a new key entry for the new dict1 key
dict2 = {} # creates a new dict2 to start building as the value for the new dict1 key
dict2[row[1]] = row[2] # adds the first key, value pair for dict2
Вы не назначили 'dict2' частью' dict1'. – PatNowak