Исправления ошибки в коде

import csv

deparment = {"management department": 122,
              "police department": 77,
              "Department of Education": 33}


deparment["management department"] = 152  # в департаменте управления изменилось количество работников

deparment["police department"] = -15  # в полицейском департаменте уволилось 15 сотрудников

del deparment["Department of Education"]  # департамент образовния был удален

print(f"Всего учеников в депортаменте: {sum(deparment.values())}")  # Выводим на экран общее число сотрудников в департаменте

with open('table_3.csv', 'w') as fl:

    fields = deparment.keys()
    writer = csv.DictWriter(fl)
    # writeheader() - запись названия колонок в файл
    writer.writeheader()

    for d in deparment:
        writer.writerow(d)

Вот что выводит:

Всего учеников в департаменте: 137 Traceback (most recent call last): File "C:\Users\User\PycharmProjects\pythonProject5\main.py", line 18, in fields = deparment[0].keys KeyError: 0


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

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

csv.DictWriter.writerow ожидает получить словарь, Вы туда передаёте ключи словаря. Передавайте сам словарь, т.е. замените последние 2 строки на следующий код

writer.writerow(deparment)
→ Ссылка