@Stigliz777

Как перевести словарь в csv/exel?

Всем доброго времени суток.
Есть переменная в которую я получаю список словарей. Также я эти словари записываю json.
Собственно сам jsonю https://pastebin.com/DvbaMgRr
Как мне записать этот список словарей в csv/exel?
Много чего перепробовал уже... Намучился с кодировкой и разделителями (на delimeter почему-то ругается).
Пытаюсь реализовать это при помощи такой функции:
def write_csv(dannie, imyafayla, encoding = "utf-8"):
        with open(imyafayla, "w", newline="", encoding=encoding) as f1:
                fieldnames = ["id", "date", "linuxe_date", "text", "likes", "comments", "reposts", "views", "max_photos"]
                writer = csv.DictWriter(f1, fieldnames = fieldnames)
                writer.writeheader()
                writer.writerows(dannie)
                print("Все записалось", imyafayla)
        f1.close()

write_csv(filtered_data, "faylik.csv", encoding="utf-8")


Заранее всем большое спасибо, респект вам.
  • Вопрос задан
  • 320 просмотров
Пригласить эксперта
Ответы на вопрос 1
ScriptKiddo
@ScriptKiddo
import csv
import json


def write_csv(data, file, encoding="utf-8"):
    with open(file, "w", newline="", encoding=encoding) as f1:
        fieldnames = data[0].keys()
        writer = csv.DictWriter(f1, fieldnames=fieldnames)
        writer.writeheader()
        writer.writerows(data)


with open('type_info.json', 'r') as f:
    data = json.load(f)

write_csv(data, "out.csv", encoding="utf-8")
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы