Многоуровневый словарь с разными ключами запись в csv

Возможно ли записать в csv файл словарь с разными ключами в соответсвующие столбцы?

my_dict = {'email1': {'sender1': 'message1', 'sender2': 'message2', 'sender3': 'message3'}}

email,sender,message
email1,sender1,message1
,sender2,message2
,sender3,message3

введите сюда описание изображения


Ответы (1 шт):

Автор решения: insolor

Пример кода:

import csv


my_dict = {
    'email1': {'sender1': 'message1', 'sender2': 'message2', 'sender3': 'message3'},
    'email2': {'sender4': 'message4', 'sender5': 'message5'},
}


with open("file.csv", "w", newline="") as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(["email", "sender", "message"])
    for email, data in my_dict.items():
        for sender, message in data.items():
            writer.writerow([email, sender, message])
            email = ""  # Каждый email будет выводиться только в одной строке

Результат:

email,sender,message
email1,sender1,message1
,sender2,message2
,sender3,message3
email2,sender4,message4
,sender5,message5
→ Ссылка