не добавляются значения в справочник csv на python

имеется файл csv следующего формата:

наименование отдела, список файлов
Финансово-экономический отдел, файл 1.xlsx, файл1.docx, file1.txt и т.д.
отдел кадров, файл 2.xlsx, файл2.docx, file2.txt и т.д.
отдел маркетинга и планирования, файл 3.xlsx, , file3.txt и т.д.

таких строк множество. необходимо сделать словарь, где первое значение должно быть ключом, остальные - значения. делаю следующим образом:

departments = {}
with open(dict_path, mode='r', newline='', encoding='utf-8') as file:
    reader = csv.reader(file)
    
    # Пропускаем первую строку с заголовками
    next(reader)

    for row in reader:
        department = row[0].strip()
        files = [f.strip() for f in row[1].split(', ')]
        print(f"Department: {department}, Files: {files}")
        if department not in departments:
            departments[department] = []
            
        departments[department].extend(files)

print(departments)

и вот тут то у меня возникает проблема. вроде бы должны значения разделяться запятой и записываться в словарь, но вместо этого записывается только первое значение.


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

Автор решения: CrazyElf
files = [f.strip() for f in row[1].split(', ')]

Вы сами берёте только одно поле row[1]. Файлы уже поделены запятыми на элементы и лежат в остальных частях списка row. Их не нужно делить запятыми, они уже поделены. Замените эту строчку на:

files = list(map(str.strip, row[1:]))
→ Ссылка