Я работаю со словарем, в котором хранится несколько словарей. Это выглядит так (этот довольно укороченный).
dict = {('random_number_1', 'random_number_2'): {'random_string_1': 'random_number_3'}, ('random_number_1', 'random_number_4'): {'random_string_2': 'random_number_5'}, ('random_number_1', 'random_number_6'): {'random_string_3': 'random_number_7', 'random_string_4': 'random_number_8', 'random_string_5': 'random_number_10'}}
{('random_number_11','random_number_13'): {'random_string_6': 'random_number_14', 'random_string_7': 'random_number_15'}}
Я хочу написать файл Excel, который бы выглядел так.
Пример
Я использовал код:
newdict = {(k1, k2):v2 for k1,v1 in dict.items() \
for k2,v2 in dict[k1].items()}
df = pd.DataFrame([newdict[i] for i in sorted(newdict)],
index=pd.MultiIndex.from_tuples([i for i in sorted(newdict.keys())]))
и попытался создать с ним dataframe, это выглядит удовлетворительно, но когда я не хочу писать это, чтобы преуспеть (с df.to_excel () я получаю ошибку:
Msgstr "Неподдерживаемый тип 'tuple' в write ()". Я думаю, что проблема заключается в моем фрейме данных. Когда я распечатываю это выглядит так.
0
(random_number_1, random_number_2) random_string_1 random_number_3
(random_number_1, random_number_4) random_string_2 random_number_5
(random_number_1, random_number_6) random_string_3 random_number_7
random_string_4 random_number_8
random_string_5 random_number_9
0
(random_number_10, random_number_11) random_string_6 random_number_12
random_string_7 random_umber_13
Эти 0 находятся в конце строки.
Ps: извините за неправильную публикацию моего кода. Не знал, как сделать отступы без кода. Надеюсь, я не заставил кого-то слишком много работать с редактированием. Заранее спасибо.