Сохранить диктовку в файл

Save Dict File



Dictionary - очень известный объект в Python. И это набор ключей и ценностей. Ключ dict должен быть неизменяемым, и он может быть целым числом, float, string, но ни список, ни сам dict не могут быть ключом. Итак, иногда нам нужно сохранить объекты dict в файл. Итак, мы увидим различные методы для сохранения объекта dict в файл.

Мы можем записать словарь в файл на Python разными способами, например:







  1. Файл значений, разделенных запятыми (.csv)
  2. Файл Json (.json)
  3. Текстовый файл (.txt)
  4. Файл рассола (.pkl)

Мы собираемся объяснить все вышеперечисленные методы.



Метод 1. Сохраните словарь в формате CSV.

Чтобы сохранить словарь в CSV (значения, разделенные запятыми), мы используем модуль CSV. Значения, разделенные запятыми, для сохранения Python dict - самый распространенный и известный метод. Большинство программистов используют этот метод только для сохранения словаря в файл. Сохранить словарь в файле в формате CSV очень просто, поскольку нам нужно передавать данные в виде строки.



Пример_1: dict_to_csv.py





# dict_to_csv.py
Импортировать csv

dict_sampleзнак равно {'имя':'LinuxHint', 'город':'ЧТО', 'образование':«Инжиниринг»}

с участием открытым('data.csv', 'в') в качествеf:
дляключвdict_sample.ключи():
f.записывать('% SS п'%(ключ,dict_sample[ключ]))

Строка 2 : Импортируем модуль Python CSV.

Строка 4 : Мы создали образец данных диктовки. Попробуем сохранить его в виде файла CSV.



Строка 6: Мы используем здесь оператор «with» для записи файла CSV. Оператор «with» автоматически обрабатывает исключения во время чтения или записи файла. Мы открываем файл data.csv в режиме записи и назначаем этот объект переменной f.

Строка 7 , Мы запускаем цикл for, который извлекает ключ, и в следующей строке он записывает ключ и key_value в файл CSV. Таким образом, этот цикл будет выполняться до тех пор, пока не будут получены данные.

Вывод: data.csv

имя,LinuxHint
город,ЧТО
образование,Инженерное дело

Итак, выше показан выходной файл после записи в data.csv.

Теперь мы понимаем, как сохранить диктант в файл в виде CSV. Давайте рассмотрим другой пример, в котором мы хотим записать список объектов dict в файл CSV.

Пример_2: dict_to_csv_2.py

# dict_to_csv_2.py

Импортировать csv

csvColumnsзнак равно ['Город', 'Страна', 'Классифицировать']
dictDemoзнак равно [
{'Город':'Нью-Йорк', 'Страна':'ИСПОЛЬЗОВАНИЕ', 'Классифицировать':3},
{'Город':'Сидней', 'Страна':'Австралия', 'Классифицировать':5},
{'Город':'Дубай', 'Страна':'ОАЭ', 'Классифицировать':10},
{'Город':'Мумбаи', 'Страна':'Индия', 'Классифицировать':17},
{'Город':'Пекин', 'Страна':'Китай', 'Классифицировать':7},
]
csvFileNameзнак равно 'data.csv'
пытаться:
с участием открытым(csvFileName, 'в') в качествеf:
писательзнак равно csv.DictWriter(ж,имена полейзнак равноcsvColumns)
писатель.writeheader()
дляданныевdictDemo:
писатель.писатель(данные)
Кроме IOError:
Распечатать('Получил ошибку')

Строки с 3 по 12: Мы импортируем CSV-модуль python и создаем список объектов dict. Мы также создали список имен столбцов.

Строка 13: Мы присвоили переменной имя CSV-файла.

Строка 15: Мы используем оператор «with», а оператор присваивает объект возврата метода __enter__ переменной f.

Строки с 16 по 19: После присвоения возвращаемого объекта переменной f мы вызвали метод DictWriter модуля CSV и передали два параметра (имя файла (f) и имена столбцов). Затем мы вызываем другой метод writeheader (), который записывает первую строку файла CSV, которая обычно является именем полей. Затем мы запускаем цикл for для списка объектов dict и записываем один за другим в файл CSV с помощью метода writerow ().

Способ 2. Сохраните dict в текстовый файл в формате JSON (режим добавления)

Мы также можем сохранить объекты dict в форме JSON в файл. Приведенный ниже код объясняет то же самое. Этот код также объясняет, как мы можем добавить новый JSON в существующий список JSON.

Пример : dict_to_file_asJSON.py

# dict_to_file_asJSON.py

Импортироватьjson

dictDemoзнак равно [
{'Город':'Нью-Йорк', 'Страна':'ИСПОЛЬЗОВАНИЕ', 'Классифицировать':3},
{'Город':'Сидней', 'Страна':'Австралия', 'Классифицировать':5},
{'Город':'Дубай', 'Страна':'ОАЭ', 'Классифицировать':10},
{'Город':'Мумбаи', 'Страна':'Индия', 'Классифицировать':17},
{'Город':'Пекин', 'Страна':'Китай', 'Классифицировать':7},
]

имя файлазнак равно 'dict.json'

# Записываем список объектов dict в файл
с участием открытым(имя файла,Режимзнак равно'в') в качествеf:
json.свалка(dictDemo,ж)

# Запись нового объекта dict в файл как добавление и перезапись всего файла
с участием открытым(имя файла,Режимзнак равно'в') в качествеf:
dictDemo.добавить({'Город':'Пекин', 'Страна':'Китай'})
json.свалка(dictDemo,ж)

Выход : dict.json

[{'Город':'Нью-Йорк', 'Страна':'ИСПОЛЬЗОВАНИЕ', 'Классифицировать':3},
{'Город':'Сидней', 'Страна':'Австралия', 'Классифицировать':5},
{'Город':'Дубай', 'Страна':'ОАЭ', 'Классифицировать':10},
{'Город':'Мумбаи', 'Страна':'Индия', 'Классифицировать':17},
{'Город':'Пекин', 'Страна':'Китай', 'Классифицировать':7},
{'Город':'Пекин', 'Страна':'Китай'}
]

Строки с 1 по 13 : Импортируем модуль JSON. Затем мы создаем список объектов dict для демонстрации. Затем мы присвоили имя файла JSON переменной filename.

Строки с 15 по 17 : Мы используем оператор «with», чтобы открыть файл JSON для записи, а затем мы используем метод json.dump для преобразования объектов dict в JSON и последующей записи в файл.

Строки с 20 по 22: Эти строки очень важны, потому что что произойдет? Если мы попытаемся добавить новые объекты JSON к уже написанным файлам. Предыдущие данные будут потеряны из-за перезаписи. Затем мы можем использовать предыдущее имя списка dict, как и мы (dictDemo), а затем добавить в него новый объект. И, наконец, мы конвертируем весь файл в JSON и перезаписываем весь файл.

В выходных данных мы видим, что новый объект JSON добавлен в существующий список JSON.

Метод 3. Сохраните объекты словаря в файл в текстовом формате.

Мы также можем сохранить словарь в обычном строковом формате в файл. Итак, приведенный ниже метод - это очень простой способ сохранить объекты словаря в файл в текстовой форме. Но этот код не будет работать, если мы захотим добавить в файл новый объект словаря, потому что он перезапишет ранее записанные данные. Поэтому мы увидим это в следующем коде.

Пример: dict_to_txt.py

# dict_to_txt.py

dictDemoзнак равно [
{'Город':'Нью-Йорк', 'Страна':'ИСПОЛЬЗОВАНИЕ', 'Классифицировать':3},
{'Город':'Сидней', 'Страна':'Австралия', 'Классифицировать':5},
{'Город':'Дубай', 'Страна':'ОАЭ', 'Классифицировать':10},
{'Город':'Мумбаи', 'Страна':'Индия', 'Классифицировать':17},
{'Город':'Пекин', 'Страна':'Китай', 'Классифицировать':7},
]

имя файлазнак равно 'dict.txt'

# Записываем список объектов dict в файл
с участием открытым(имя файла,Режимзнак равно'в') в качествеf:
f.записывать(п(dictDemo))

Выход: dict.txt

[{'Город':'Нью-Йорк', 'Страна':'ИСПОЛЬЗОВАНИЕ', 'Классифицировать':3},
{'Город':'Сидней', 'Страна':'Австралия', 'Классифицировать':5},
{'Город':'Дубай', 'Страна':'ОАЭ', 'Классифицировать':10},
{'Город':'Мумбаи', 'Страна':'Индия', 'Классифицировать':17},
{'Город':'Пекин', 'Страна':'Китай', 'Классифицировать':7}]

Строки с 1 по 11 : Мы создали список объектов словаря и присвоили имя файла dict.txt переменной filename.

Строки с 14 по 15 : Мы используем здесь оператор with, который автоматически обрабатывает исключение. И мы записываем список объектов dict в виде строки в файл.

Пример: dict_to_txt_2.py

Мы видели, как сохранять объекты dict в файл в форме .txt. Но в приведенном выше коде есть одна проблема с добавлением нового объекта. Итак, мы меняем метод добавления с «w» на «a», что может решить нашу проблему, как показано в коде ниже.

# dict_to_txt_2.py

'' ': квар
Этот код сохранит объекты dict в файле с
режим добавления.
'' '

dictDemoзнак равно [
{'Город':'Нью-Йорк', 'Страна':'ИСПОЛЬЗОВАНИЕ', 'Классифицировать':3},
{'Город':'Сидней', 'Страна':'Австралия', 'Классифицировать':5},
{'Город':'Дубай', 'Страна':'ОАЭ', 'Классифицировать':10},
{'Город':'Мумбаи', 'Страна':'Индия', 'Классифицировать':17},
{'Город':'Пекин', 'Страна':'Китай', 'Классифицировать':7},
]

имя файлазнак равно 'dict_to_file_appendMode.txt'

# Записываем список объектов dict в файл
с участием открытым(имя файла,Режимзнак равно'к') в качествеf:
f.записывать(п(dictDemo))

Строки с 7 по 15 : Мы создали список объектов словаря и присвоили имя файла dict_to_file_appendMode.txt переменной filename.

Строки с 18 по 19 : Мы меняем mode = ‘a’, и это решит нашу проблему. Приведенный ниже вывод показывает, что мы добавили два объекта dict в один файл без перезаписи предыдущих данных.

Вывод: dict_to_file_appendMode.txt

[{'Город':'Нью-Йорк', 'Страна':'ИСПОЛЬЗОВАНИЕ', 'Классифицировать':3},
{'Город':'Сидней', 'Страна':'Австралия', 'Классифицировать':5},
{'Город':'Дубай', 'Страна':'ОАЭ', 'Классифицировать':10},
{'Город':'Мумбаи', 'Страна':'Индия', 'Классифицировать':17},
{'Город':'Пекин', 'Страна':'Китай', 'Классифицировать':7}]

[{'Город':'Нью-Йорк', 'Страна':'ИСПОЛЬЗОВАНИЕ', 'Классифицировать':3},
{'Город':'Сидней', 'Страна':'Австралия', 'Классифицировать':5},
{'Город':'Дубай', 'Страна':'ОАЭ', 'Классифицировать':10},
{'Город':'Мумбаи', 'Страна':'Индия', 'Классифицировать':17},
{'Город':'Пекин', 'Страна':'Китай', 'Классифицировать':7}]

Метод 4: Сохраните объект dict в файл с помощью метода pickle.

Мы также можем сохранить объект dict в файл с помощью модуля python pickle. Модуль pickle поддерживает множество объектов для сериализации в Python, а также поддерживает объекты dict.

# dict_to_file_use_pickle.py

Импортировать соленый огурец

dictDemoзнак равно [
{'Город':'Нью-Йорк', 'Страна':'ИСПОЛЬЗОВАНИЕ', 'Классифицировать':3},
{'Город':'Сидней', 'Страна':'Австралия', 'Классифицировать':5},
{'Город':'Дубай', 'Страна':'ОАЭ', 'Классифицировать':10},
{'Город':'Мумбаи', 'Страна':'Индия', 'Классифицировать':17},
{'Город':'Пекин', 'Страна':'Китай', 'Классифицировать':7},
]

имя файлазнак равно 'picklefile.pkl'

с участием открытым(имя файла, 'прочь') в качествеf:
соленый огурец.свалка(dictDemo,ж)

Строки с 3 по 13 : Импортируем модуль pickle и создаем список объектов dict. Мы также создаем имя файла, в котором будем сохранять наши объекты dict.

Строки с 15 по 16 : Мы используем здесь оператор «with» и открываем файл в режиме добавления и в двоичном формате. Затем мы выгружаем объекты dict в файл.

Заключение

Итак, мы рассмотрели различные методы сохранения объекта словаря в файл. От пользователя зависит, как он хочет сохранить объект в файл. Наиболее распространенные методы сохранения объекта dict в файл - это JSON и CSV. Форматы JSON и CSV очень известны с точки зрения программирования или просты в использовании в Python. Мы также видели режим добавления файлов для сохранения.

Код для этой статьи можно скачать по этой ссылке:

https://github.com/shekharpandey89/save-dict-object-to-a-file