Làm cách nào để lưu tệp văn bản dưới dạng từ điển trong python?

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

Làm cách nào để lưu tệp văn bản dưới dạng từ điển trong python?

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

Làm cách nào để lưu tệp văn bản dưới dạng từ điển trong python?

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. )

Làm cách nào để lưu tệp văn bản dưới dạng từ điển trong python?

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
    {'country': 'Germany', 'capital': 'Berlin'}
    0 để ghi dữ liệu từ điển vào tệp rồi đóng tệp
  • Để đọ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

Làm cách nào để lưu tệp văn bản dưới dạng từ điển trong python?

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

Làm cách nào để lưu tệp văn bản dưới dạng từ điển trong 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

Làm cách nào để lưu tệp văn bản dưới dạng từ điển trong python?

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