Сейчас записывает данные в одну ячейку, а не по столбцам.
import csv
import os
# Данные из переменной 'a'
a = {
'url': 'https://www.coindesk.com/policy/2024/08/08/ftx-alameda-ordered-to-pay-127b-to-creditors-by-us-judge/',
'title': 'FTX, Alameda Ordered to Pay $12.7B to Creditors by U.S. Judge',
'author': 'Shaurya Malwa',
'date': 'Aug 8, 2024 at 6:44 a.m. UTC'
}
# Имя CSV файла
filename = 'data3.csv'
# Проверка, существует ли файл
file_exists = os.path.isfile(filename)
# Открываем файл в режиме добавления (append) с возможностью чтения (a+)
with open(filename, mode='a+', newline='', encoding='utf-8') as file:
# Создаем объект writer для записи данных в CSV
writer = csv.DictWriter(file, fieldnames=a.keys())
# Если файл пустой или только что создан, записываем заголовки
if not file_exists or file.tell() == 0:
writer.writeheader() # Записываем заголовки (названия столбцов)
# Записываем строку данных (содержимое столбцов)
writer.writerow(a)