Mã Python sau đọc tệp bằng hàm open[]. Mỗi dòng dưới dạng chuỗi được phân tách tại ký tự khoảng trắng. Thành phần đầu tiên được sử dụng làm khóa và thứ hai làm giá trị
d = {} with open["dict.txt"] as f: for line in f: [key, val] = line.split[] d[int[key]] = val print [d]
Đầu ra hiển thị nội dung của tệp ở dạng từ điển
{1: 'aaa', 2: 'bbb', 3: 'ccc'}
Bản tóm tắt. Bạn có thể sử dụng thư viện pickle
của Python để lưu dữ liệu từ điển vào một tệp. Một cách tiếp cận hiệu quả khác để lưu dữ liệu từ điển vào một tệp là sử dụng gói JSON
tích hợp sẵn của Python. Bạn cũng có thể sử dụng các chức năng xử lý tệp đơn giản để lưu trữ trực tiếp dữ liệu từ điển trong tệp văn bản
Vấn đề. Đưa ra một từ điển Python. Bạn sẽ lưu dữ liệu từ từ điển vào một tệp như thế nào để có thể tải nó lên để sử dụng sau này?
Bạn có thể cần sự trợ giúp của các hệ thống lưu trữ lâu dài như cơ sở dữ liệu hoặc tệp để lưu trữ các cấu trúc dữ liệu được tuần tự hóa như mảng, danh sách và từ điển. Một trong những lý do chính đằng sau việc làm như vậy là cơ sở dữ liệu và tệp có thể tái sử dụng, tôi. e. , sau khi phân tích dữ liệu đã cho, chúng ta có thể lưu trữ nó trong tệp và sau đó dữ liệu đó có thể được đọc để sử dụng trong một ứng dụng
Bài viết này sẽ xử lý dữ liệu từ điển mà bạn có thể lưu trữ trong một tệp
Ví dụ. Hãy xem xét từ điển sau
d = {'country': 'Germany', 'capital': 'Berlin'}
Thử thách. Bạn sẽ lưu trữ các cặp khóa-giá trị của từ điển trên trong một tệp như thế nào?
Hướng dẫn liên quan
- Viết một danh sách vào một tệp bằng Python
- Cách đọc từ điển từ một tệp
- Cách chính xác để viết dòng vào tệp trong Python
Có nhiều cách để lưu trữ dữ liệu từ điển trong một tệp bằng Python. Chúng ta hãy xem một số trong số họ
Phương pháp 1. Sử dụng dưa chua
- Pickle là một mô-đun trong Python sử dụng các giao thức nhị phân để tuần tự hóa và hủy tuần tự hóa một cấu trúc đối tượng. “Pickling” đề cập đến quá trình chuyển đổi một đối tượng Python thành luồng byte. “Unpickling” chỉ là hoạt động ngược lại trong đó một luồng byte được chuyển đổi thành một đối tượng Python. Pickling đôi khi cũng được gọi là xê-ri hóa
- Một ý tưởng hay để triển khai tệp Pickle là khi bạn đang xử lý dữ liệu nhạy cảm hoặc khi bạn cần giữ trạng thái chương trình trong các phiên
Tiếp cận
- Tạo tệp dưa chua [i. e. , tên tệp. pkl] với sự trợ giúp của hàm
open[filename, mode]
. Vì chúng tôi sẽ lưu trữ dữ liệu trong tệp pickle lưu trữ dữ liệu dưới dạng luồng nhị phân, do đó, hãy mở tệp ở chế độ nhị phân [“import pickle d = {'country': 'Germany', 'capital': 'Berlin'} file = open["dictionary_data.pkl", "wb"] pickle.dump[d, file] file.close[] file = open["dictionary_data.pkl", "rb"] output = pickle.load[file] print[output] file.close[]
0“] - Sử dụng phương pháp
import pickle d = {'country': 'Germany', 'capital': 'Berlin'} file = open["dictionary_data.pkl", "wb"] pickle.dump[d, file] file.close[] file = open["dictionary_data.pkl", "rb"] output = pickle.load[file] print[output] file.close[]
1 để lưu trữ/xếp thứ tự dữ liệu từ điển vào tệp - Để đọc dữ liệu từ tệp này, hãy gọi phương thức
import pickle d = {'country': 'Germany', 'capital': 'Berlin'} file = open["dictionary_data.pkl", "wb"] pickle.dump[d, file] file.close[] file = open["dictionary_data.pkl", "rb"] output = pickle.load[file] print[output] file.close[]
2 - Ghi chú. Nhớ đóng file
Mã số. Hãy hình dung cách tiếp cận trên với sự trợ giúp của đoạn mã sau
import pickle d = {'country': 'Germany', 'capital': 'Berlin'} file = open["dictionary_data.pkl", "wb"] pickle.dump[d, file] file.close[] file = open["dictionary_data.pkl", "rb"] output = pickle.load[file] print[output] file.close[]
đầu ra
Bảng điều khiển đầu ra
{'country': 'Germany', 'capital': 'Berlin'}
Phương pháp 2. sử dụng json
Tiếp cận
- Mở tệp ở chế độ ghi bằng cách gọi
import pickle d = {'country': 'Germany', 'capital': 'Berlin'} file = open["dictionary_data.pkl", "wb"] pickle.dump[d, file] file.close[] file = open["dictionary_data.pkl", "rb"] output = pickle.load[file] print[output] file.close[]
3 - Sử dụng hàm
import pickle d = {'country': 'Germany', 'capital': 'Berlin'} file = open["dictionary_data.pkl", "wb"] pickle.dump[d, file] file.close[] file = open["dictionary_data.pkl", "rb"] output = pickle.load[file] print[output] file.close[]
4 để chuyển đổi dữ liệu từ điển sang định dạng json và ghi vào tệp - Để đọc dữ liệu từ tệp này, hãy đọc dữ liệu từ nó bằng cách gọi hàm
import pickle d = {'country': 'Germany', 'capital': 'Berlin'} file = open["dictionary_data.pkl", "wb"] pickle.dump[d, file] file.close[] file = open["dictionary_data.pkl", "rb"] output = pickle.load[file] print[output] file.close[]
5 - Ghi chú. Nhớ đóng file
Mã số
import json d = {'country': 'Germany', 'capital': 'Berlin'} file = open["dictionary_data.json", "w"] json.dump[d, file] file.close[] file = open["dictionary_data.json", "r"] output = file.read[] print[output] file.close[]
đầu ra
Bảng điều khiển đầu ra
{"country": "Germany", "capital": "Berlin"}
Ghi chú. Phương thức
import pickle d = {'country': 'Germany', 'capital': 'Berlin'} file = open["dictionary_data.pkl", "wb"] pickle.dump[d, file] file.close[] file = open["dictionary_data.pkl", "rb"] output = pickle.load[file] print[output] file.close[]6 được sử dụng để chuyển đổi đối tượng Python thành chuỗi JSON
Phương pháp 3. Sử dụng Numpy
Sử dụng JSON và Pickle là những lựa chọn tốt nhất khi lưu trữ từ điển vào một tệp. Nhưng chúng tôi cũng có một cách khác để làm như vậy bằng cách sử dụng mô-đun Numpy
Tiếp cận. Gọi hàm
import pickle d = {'country': 'Germany', 'capital': 'Berlin'} file = open["dictionary_data.pkl", "wb"] pickle.dump[d, file] file.close[] file = open["dictionary_data.pkl", "rb"] output = pickle.load[file] print[output] file.close[]7 để lưu tệp vào đĩa. Để đọc dữ liệu từ tệp này, chúng tôi gọi hàm
import pickle d = {'country': 'Germany', 'capital': 'Berlin'} file = open["dictionary_data.pkl", "wb"] pickle.dump[d, file] file.close[] file = open["dictionary_data.pkl", "rb"] output = pickle.load[file] print[output] file.close[]8
Mã số
import numpy as np d = {'country': 'Germany', 'capital': 'Berlin'} np.save['file.npy', d] read_d = np.load['file.npy', allow_pickle='TRUE'].item[] print[read_d]
đọc ở đây. Hướng dẫn NumPy – Mọi thứ bạn cần biết để bắt đầu
Bạn có muốn trở thành một bậc thầy NumPy? . [Liên kết Amazon mở trong tab mới. ]
Phương pháp 4. Cách tiếp cận cơ bản
Cuối cùng nhưng không kém phần quan trọng, bạn có thể lưu trữ dữ liệu từ điển vào một tệp văn bản đơn giản bằng cách ghi dữ liệu vào tệp bằng các chức năng xử lý tệp
Tiếp cận
- Gọi hàm
import pickle d = {'country': 'Germany', 'capital': 'Berlin'} file = open["dictionary_data.pkl", "wb"] pickle.dump[d, file] file.close[] file = open["dictionary_data.pkl", "rb"] output = pickle.load[file] print[output] file.close[]
9 để tạo/mở tệp ở chế độ ghi - Sử dụng hàm
0 để ghi dữ liệu từ điển vào tệp rồi đóng tệp{'country': 'Germany', 'capital': 'Berlin'}
- Để đọc dữ liệu từ tệp này, hãy mở tệp và sử dụng phương pháp
import pickle d = {'country': 'Germany', 'capital': 'Berlin'} file = open["dictionary_data.pkl", "wb"] pickle.dump[d, file] file.close[] file = open["dictionary_data.pkl", "rb"] output = pickle.load[file] print[output] file.close[]
5 để đọc dữ liệu từ tệp này
d = {'country': 'Germany', 'capital': 'Berlin'} f = open['file.txt', 'w'] f.write[str[d]] f.close[] f = open['file.txt', 'r'] data = f.read[] print[data] f.close[]
đầu ra
Các bài đọc được đề xuất về xử lý tệp
- Cách chính xác để viết dòng vào tệp trong Python
- Làm cách nào để sửa đổi tệp văn bản trong Python?
Phần kết luận
Chúng ta đã học được bốn cách lưu trữ dữ liệu từ điển vào một tệp bằng Python trong bài viết này. Các cách phù hợp nhất để lưu trữ dữ liệu từ điển trong một tệp là sử dụng JSON hoặc các mô-đun pickle. Tuy nhiên, vui lòng thử các cách khác được thảo luận trong hướng dẫn này
Tôi hy vọng bài viết này đã giúp bạn. Vui lòng đăng ký và theo dõi để biết thêm các hướng dẫn và thảo luận thú vị
Nhưng trước khi chúng ta tiếp tục, tôi rất vui được giới thiệu với bạn cuốn sách Python mới của tôi Python One-Liners [Amazon Link]
Nếu bạn thích một lớp lót, bạn sẽ YÊU cuốn sách. Nó sẽ dạy cho bạn mọi thứ cần biết về một dòng mã Python. Nhưng nó cũng là phần giới thiệu về khoa học máy tính, khoa học dữ liệu, máy học và thuật toán. Vũ trụ trong một dòng Python
Sách được phát hành năm 2020 với nhà xuất bản sách lập trình đẳng cấp thế giới NoStarch Press [San Francisco]
liên kết. https. //Không có tinh bột. com/pythononeliners
Shubham Sayon
Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking