Python: как с помощью csv записать в файл список словарей, в которых иногда есть список?Python

Программы на Python
Ответить
Anonymous
 Python: как с помощью csv записать в файл список словарей, в которых иногда есть список?

Сообщение Anonymous »

Эй, я сейчас делаю проект в своей школе и не могу найти никакого решения.
МНЕ НУЖНО ИСПОЛЬЗОВАТЬ «импорт CSV», поэтому, если невозможно обойтись без панд, пожалуйста, скажите мне.
Мне нужно создать список из CSV-файла (эти данные — это информация о фильмах, такая как название, режиссер и актеры. Режиссеры и актеры — это список, а другие данные — просто строка), это выглядит так это:

Код: Выделить всё

with open('filmy.csv', mode='r',encoding='UTF-8') as file:
csv_reader = csv.DictReader(file)

data_list = []  # Main list
for row in csv_reader:
data_list.append(row)
for d in data_list:
if d['Aktorzy']:  #Aktorzy == Actors
d['Aktorzy'] = d['Aktorzy'].split('; ')
if d['Reżyser']:  #Reżyser == Directors
d['Reżyser'] = d['Reżyser'].split('; ')

file.close()
Теперь, когда я закрываю файл, мне нужно обновить файл «filmy.csv», но что бы я ни делал, я не могу найти решение, как сохранить эти списки актеров такими, какими они были при открытии файла. Вот мой текущий код для этого:

Код: Выделить всё

    keys = data_list[0].keys()

with open('filmy.csv', 'w', newline='', encoding='UTF-8') as output_file:
dict_writer = csv.DictWriter(output_file, keys)
dict_writer.writeheader()
dict_writer.writerows(data_list)
app.quit()
Вот как мой CSV меняется после открытия и закрытия моей программы:
Как это происходит сначала (и как должно быть):
Первое изображение
Как это после закрытия один раз:

Второе изображение

Как это позже:

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

Подробнее здесь: https://stackoverflow.com/questions/798 ... metimes-ha
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»