Запись словаря в файл

Запись в файл словаря с несколькими значениями
Моя тема была неделю назад вот здесь: https://www.cyberforum.ru/python/thread1246408.html. А это.
Создание csv файла в программе, и запись в него словаря
Программа должна создавать директорию, папку и файл формата csv в папке и записывать в файл csv.

Запись словаря в файл xlsx
Коллеги всем доброго времени суток. Не могу записать словарь в файл формата xlsx. Имется.

Запись словаря столбиком. dict()
Приветик Как в python 3 можно записать в файл массив словаря столбиком ? new_d = dict().
Опишите запись ТРАНСПОРТ (с помощью словаря)
Опишите запись ТРАНСПОРТ (с помощью словаря) и поместите в нее следующую информацию: Ф.И.О.
Работа с JSON-файлами в Python
Бывает такое, что при открытии файлов в них оказываются данные, очень похожие на словари и списки. Или наоборот, вы хотите записать в файл словарь, но не знаете как это сделать. На помощь приходит стандартный модуль json .
JSON — текстовый формат данных, очень похожий на словари и списки. Изначально он пришёл из JavaScript, но сейчас используется повсеместно. Хоть данные и похожи на словари и списки, в файл записан обычный текст. Чтобы превратить его в словари и списки нужна библиотека json .
Прочитать JSON
Пусть есть файл capitals.json с очень похожим на словарь содержимым:
"Россия": "Москва", "Беларусь": "Минск", "Казахстан": "Нур-Султан" >
Простое открытие этого файла выглядит так:
with open("capitals.json", "r") as my_file: capitals = my_file.read()
Проблема в том, что в capitals будет лежать не словарь, а строка. Если попытаться достать значение по ключу, то случится ошибка:
print(capitals["Россия"]) Traceback (most recent call last): File "", line 1, in module> TypeError: string indices must be integers
Чтобы превратить строку в словарь понадобится модуль json . Его не нужно дополнительно устанавливать, он входит в стандартный набор библиотек:
import json with open("capitals.json", "r") as my_file: capitals_json = my_file.read() capitals = json.loads(capitals_json)
Функция json.loads взяла строку capitals_json и на основе её данных сделала словарь. Теперь в capitals лежит не строка, а словарь:
print(capitals["Россия"]) # Москва
«Девман» — авторская методика обучения программированию на Python. Готовим к работе крутых программистов.
Запись в файл
Если же вам нужно сохранить в файл словарь или список, то это тоже можно легко сделать, по аналогии. Сначала из словаря сделаем строку, затем сохраним её в файл:
import json capitals = "Россия": "Москва", "Беларусь": "Минск", "Казахстан": "Нур-Султан" > capitals_json = json.dumps(capitals) with open("capitals.json", "w") as my_file: my_file.write(capitals_json)
Читайте дальше
Попробуйте бесплатные уроки по Python
Получите крутое код-ревью от практикующих программистов с разбором ошибок и рекомендациями, на что обратить внимание — бесплатно.
Переходите на страницу учебных модулей «Девмана» и выбирайте тему.
Чтение и сохранение в файл списков и словарей в Python
Строки могут быть легко записаны и считаны из файла. Числа требуют немного больше усилий, так как метод file.read() возвращает только строки, которые должны быть переданы функции int() , которая принимает строку типа ‘123’ и возвращает ее числовое значение 123 . Когда вы хотите сохранить более сложные типы данных, такие как вложенные списки и словари, разбор и сериализация вручную усложняются.
Вместо того, чтобы пользователи постоянно писали и отлаживали код для сохранения сложных типов данных в файлы, Python позволяет использовать популярный формат обмена данными, называемый JSON (JavaScript Object Notation). Стандартный модуль, называемый json , может принимать иерархии данных Python и преобразовывать их в строковые представления. Этот процесс называется сериализацией. Восстановление данных из строкового представления называется десериализацией. Между сериализацией и десериализацией строка, представляющая объект, может быть сохранена в файле или отправлена по сетевому соединению на какой-либо удаленный компьютер.
Если у вас есть объект x , вы можете просмотреть его строковое представление JSON с помощью простой строки кода:
>>> import json >>> json.dumps([1, 'simple', 'list']) # '[1, "simple", "list"]'
Другой метод этого модуля json.dump() просто сериализует объект в текстовый файл. Итак, если объект fp текстового файла открыт для записи, мы можем сделать следующее:
json.dump(x, fp)
Чтобы снова декодировать объект, если fp это объект текстового файла, который был открыт для чтения:
x = json.load(fp)
Этот простой метод сериализации может обрабатывать списки и словари, но сериализация произвольных экземпляров классов в JSON требует дополнительных усилий.
Дополнительно смотрите встроенный модуль pickle . В отличие от JSON , pickle — это протокол, который позволяет сериализовать произвольно сложные объекты Python.
Протокол pickle специфичен для Python и не может использоваться для связи с приложениями, написанными на других языках. Он также по умолчанию небезопасен! Десериализация данных pickle , поступающих из ненадежного источника, может выполнить произвольный код, если данные были созданы опытным злоумышленником.
- ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
- Составление пути к файлу в Unix и Windows
- Открытие/закрытие файла для чтения/записи
- Типы обрабатываемых данных и файлов
- Способы чтения открытого файла
- Способы записи в открытый файл
- Одновременное чтение из одного и запись в другой файл
- Добавление данных в открытый файл
- Управление указателем чтения/записи в файле
- Создание менеджера для обработки файла
- Сохранение словарей в формат JSON
- Встроенные модули для работы с разными форматами
Как преобразовать словарь в текстовый файл в python?
Есть скачанный словарь dictionary.pkl. Нужно записать данные из словаря в txt файл. То есть каждая пара ключа и значения должны записаться в отдельной строке и разделяться через запятую.
Это часть словаря.
‘Sundar Ande’: 6400,
‘Mozhe Atkinson’: 2800,>
На выходе должно получиться:
Ellen Abel,11000
Sundar Ande,6400
Mozhe Atkinson,2800
- Вопрос задан более трёх лет назад
- 7223 просмотра
1 комментарий
Простой 1 комментарий