- Как сохранить словарь в файл в Python
- Сохранение словаря в файл с помощью строк
- Как сохранить словарь в файл в двоичном формате
- Последние записи:
- Python Save Dictionary To File
- Table of contents
- How to save a dictionary to file in Python
- Example: save a dictionary to file
- Read Dictionary from a File
- Save a dictionary to a text file using the json module
- Save the dictionary to a CSV file
- About Vishal
- Related Tutorial Topics:
- Python Exercises and Quizzes
- save dictionary python
- save dictionary as csv file
- save dictionary to json file
- save dictionary to text file (raw, .txt)
- save dictionary to a pickle file (.pkl)
Как сохранить словарь в файл в Python
Словарь в Python используется для хранения пар ключ-значение. Иногда нам может понадобиться сохранить словарь непосредственно в файл. В этой статье мы разберем, как это сделать.
Примечание. Больше о словарях в Python можно почитать в статье “Словари в Python и работа с ними”.
Сохранение словаря в файл с помощью строк
Чтобы сохранить словарь в файл, мы можем сначала преобразовать словарь в строку, а затем сохранить строку в текстовом файле. Для этого мы выполним следующие шаги:
- Сначала мы преобразуем словарь в строку с помощью функции str() . Функция str() принимает объект в качестве входных данных и возвращает его строковое представление.
- Получив строковое представление словаря, мы откроем текстовый файл в режиме записи с помощью функции open() . Функция open() принимает имя файла и режим в качестве входных аргументов и возвращает объект файлового потока, скажем, myFile.
- После получения объекта файлового потока myFile мы запишем строку в текстовый файл с помощью метода write() . Метод write() при вызове для файлового объекта принимает строку в качестве входного аргумента и записывает ее в файл.
- После выполнения метода write() мы закроем файловый поток с помощью метода close() .
Следуя этим шагам, вы сохраните словарь в файл в виде строки. После сохранения словаря в файл вы можете проверить содержимое файла, открыв его.
В следующем коде мы сохранили словарь Python в файл.
myFile = open('sample.txt', 'w') myDict = print("The dictionary is:") print(myDict) myFile.write(str(myDict)) myFile.close() myFile = open('sample.txt', 'r') print("The content of the file after saving the dictionary is:") print(myFile.read())
The dictionary is: The content of the file after saving the dictionary is:
Как сохранить словарь в файл в двоичном формате
Вместо того, чтобы хранить словарь в виде текста, можно сохранить его в двоичном формате. Для этого мы будем использовать модуль pickle в Python. Чтобы сохранить словарь в файл с помощью модуля pickle, мы выполним следующие шаги:
- Сначала мы откроем файл в двоичном режиме записи (wb) с помощью функции open() . Функция open() принимает имя файла и режим в качестве входных аргументов и возвращает объект файлового потока, скажем, myFile.
- Модуль pickle предоставляет нам метод dump() , с помощью которого мы можем сохранить словарь в двоичном формате в файл. Метод dump() принимает объект в качестве первого аргумента и файловый поток в качестве второго аргумента. После выполнения он сохраняет объект в файл в двоичном формате. Мы передадим словарь в качестве первого аргумента, а myFile — в качестве второго аргумента в метод dump() .
- После выполнения метода dump() мы закроем файл с помощью метода close() .
Ниже приведен код для сохранения словаря в файл.
import pickle myFile = open('sample_file', 'wb')myDict = print("The dictionary is:") print(myDict) pickle.dump(myDict,myFile) myFile.close()
Сохранив словарь в двоичном формате, мы можем извлечь его с помощью метода load() из модуля pickle. Метод load() принимает файловый поток, содержащий объект Python в двоичной форме, в качестве входного аргумента и возвращает объект Python. После сохранения словаря в файл с помощью метода dump() мы можем воссоздать словарь из файла, как показано ниже.
import pickle myFile = open('sample_file', 'wb') myDict = print("The dictionary is:") print(myDict) pickle.dump(myDict,myFile) myFile.close() myFile = open('sample_file', 'rb') print("The content of the file after saving the dictionary is:") print(pickle.load(myFile))
The dictionary is:The content of the file after saving the dictionary is:
Итак, мы разобрали два способа сохранения словаря в файл в Python: в строковом и двоичном формате. Спасибо за внимание и успешного кодинга!
Последние записи:
Python Save Dictionary To File
In this lesson, you’ll learn how to save a dictionary to a file in Python. Also, we’ll see how to read the same dictionary from a file.
In this lesson, you’ll learn how to:
- Use the pickle module to save the dictionary object to a file.
- Save the dictionary to a text file.
- Use the dump() method of a json module to write a dictionary in a json file.
- Write the dictionary to a CSV file.
Table of contents
How to save a dictionary to file in Python
Dictionaries are ordered collections of unique values stored in (Key-Value) pairs. The below steps show how to use the pickle module to save the dictionary to a file.
- Import pickle module The pickle module is used for serializing and de-serializing a Python object structure.
Pickling” is the process whereby a Python object is converted into a byte stream, and “unpickling” is the inverse operation whereby a byte stream (from a binary file) is converted back into an original object.
Example: save a dictionary to file
Let’s see the below example of how you can use the pickle module to save a dictionary to a person_data.pkl file.
import pickle # create a dictionary using <> person = print('Person dictionary') print(person) # save dictionary to person_data.pkl file with open('person_data.pkl', 'wb') as fp: pickle.dump(person, fp) print('dictionary saved successfully to file')
Person dictionary dictionary saved successfully to file
Read Dictionary from a File
Now read the same dictionary from a file using a pickle module’s load() method.
import pickle # Read dictionary pkl file with open('person_data.pkl', 'rb') as fp: person = pickle.load(fp) print('Person dictionary') print(person)
Save a dictionary to a text file using the json module
We can use the Python json module to write dictionary objects as text data into the file. This module provides methods to encode and decode data in JSON and text formats.
We will use the following two methods of a json module.
- The dump() method is used to write Python objects as JSON formatted data into a file.
- Using the load() method, we can read JSON data from text, JSON, or a binary file to a dictionary object.
Let’s see the below example of how you can use the json module to save a dictionary to a text file.
import json # assume you have the following dictionary person = print('Person dictionary') print(person) print("Started writing dictionary to a file") with open("person.txt", "w") as fp: json.dump(person, fp) # encode dict into JSON print("Done writing dict into .txt file")
Person dictionary Started writing dictionary to a file Done writing dict into .txt file
Note: You can also use the dump() method to write a dictionary in a json file. Only you need to change the file extension to json while writing it.
Read a dictionary from a text file.
Now, let’s see how to read the same dictionary from the file using the load() function.
import json # Open the file for reading with open("person.txt", "r") as fp: # Load the dictionary from the file person_dict = json.load(fp) # Print the contents of the dictionary print(person_dict)
Save the dictionary to a CSV file
The Python csv library provides functionality to read from and write to CSV files.
- Use the csv.DictReader() method to read CSV files into a dictionary.
- Use the csv.DictWriter() method to write a dictionary to a CSV file.
Example: Save the dictionary to a CSV file.
import csv # Dictionary to be saved person = print('Person dictionary') print(person) # Open a csv file for writing with open("person.csv", "w", newline="") as fp: # Create a writer object writer = csv.DictWriter(fp, fieldnames=person.keys()) # Write the header row writer.writeheader() # Write the data rows writer.writerow(person) print('Done writing dict to a csv file')
Person dictionary Done writing dict to a csv file
Example: Read a dictionary from a csv file
import csv # Open the csv file for reading with open("person.csv", "r") as infile: # Create a reader object reader = csv.DictReader(infile) # Iterate through the rows for row in reader: print(row)
OrderedDict([('name', 'Jessa'), ('country', 'USA'), ('telephone', '1178')])
Note: This will read the contents of the person.csv file and create a dictionary for each row in the file. You can then iterate through the rows and access the values in the dictionary using the column names as keys.
Did you find this page helpful? Let others know about it. Sharing helps me continue to create free Python resources.
About Vishal
I’m Vishal Hule, Founder of PYnative.com. I am a Python developer, and I love to write articles to help students, developers, and learners. Follow me on Twitter
Related Tutorial Topics:
Python Exercises and Quizzes
Free coding exercises and quizzes cover Python basics, data structure, data analytics, and more.
- 15+ Topic-specific Exercises and Quizzes
- Each Exercise contains 10 questions
- Each Quiz contains 12-15 MCQ
save dictionary python
How to make python save a dictionary to a file. These are small programs that allows you to create a dictionary and then, when running the program, it will create a file that contains the data in the original dictionary.
Given a dictionary such as:
dict = {‘Python’ : ‘.py’, ‘C++’ : ‘.cpp’, ‘Java’ : ‘.java’}
- Comma seperated value file (.csv)
- Json file (.json)
- Text file (.txt)
- Pickle file (.pkl)
save dictionary as csv file
The csv module allows Python programs to write to and read from CSV (comma-separated value) files.
CSV is a common format used for exchanging data between applications. The module provides classes to represent CSV records and fields, and allows outputs to be formatted as CSV files.
In this format every value is separated between a comma, for instance like this:
Python,py,programming,
Bitmap,bmp,picture,
Sound,mp3,audio,
You can write it to a file with the csv module.
# load csv module
import csv
# define a dictionary with key value pairs
dict = {‘Python’ : ‘.py’, ‘C++’ : ‘.cpp’, ‘Java’ : ‘.java’}
# open file for writing, «w» is writing
w = csv.writer(open(«output.csv», «w»))
# loop over dictionary keys and values
for key, val in dict.items():
# write every key and value to file
w.writerow(Saving python dictionary to file)
The dictionary file (csv) can be opened in Google Docs or Excel
save dictionary to json file
Today, a JSON file has become more and more common to transfer data in the world. JSON (JavaScript Object Notation) is a lightweight data-interchange format.
JSON is easy for humans to read and write. It is easy for machines to parse and generate.
JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others.
JSON was originally derived from the JavaScript scripting language, but it is not limited to any one programming language.
If you want to save a dictionary to a json file
# load json module
import json
# python dictionary with key value pairs
dict = {‘Python’ : ‘.py’, ‘C++’ : ‘.cpp’, ‘Java’ : ‘.java’}
# create json object from dictionary
json = json.dumps(dict)
# open file for writing, «w»
f = open(«dict.json»,«w»)
# write json object to file
f.write(json)
# close file
f.close()
save dictionary to text file (raw, .txt)
The program below writes a dictionary to an text string. It uses the str() call to convert the dictionary to a text string. While it is easy to write as a text string, this format makes it harder to read the file.
You can save your dictionary to a text file using the code below:
# define dict
dict = {‘Python’ : ‘.py’, ‘C++’ : ‘.cpp’, ‘Java’ : ‘.java’}
# open file for writing
f = open(«dict.txt»,«w»)
# write file
f.write( str(dict) )
# close file
f.close()
save dictionary to a pickle file (.pkl)
The pickle module may be used to save dictionaries (or other objects) to a file. The module can serialize and deserialize Python objects.
In Python, pickle is a built-in module that implements object serialization. It is both cross-platform and cross language, meaning that it can save and load objects between Python programs running on different operating systems, as well as between Python running on different platforms.
The pickle module is written entirely in Python, and is available in CPython implementations, such as Jython or IronPython. To enable the loading of pickles in other Python modules, pickle supports being executed from the command line.
The program below writes it to a pickle file.
# load pickle module
import pickle
# define dictionary
dict = {‘Python’ : ‘.py’, ‘C++’ : ‘.cpp’, ‘Java’ : ‘.java’}
# create a binary pickle file
f = open(«file.pkl»,«wb»)
# write the python object (dict) to pickle file
pickle.dump(dict,f)
# close file
f.close()