Tuần tự hóa và giải tuần tự hóa trong Python là gì?

Tuần tự hóa dữ liệu là quá trình chuyển đổi dữ liệu có cấu trúc sang định dạng cho phép chia sẻ hoặc lưu trữ dữ liệu ở dạng cho phép khôi phục cấu trúc ban đầu của nó. Trong một số trường hợp, mục đích thứ cấp của tuần tự hóa dữ liệu là giảm thiểu kích thước của dữ liệu, sau đó giảm yêu cầu về dung lượng ổ đĩa hoặc băng thông

phẳng so với. Dữ liệu lồng nhau

Trước khi bắt đầu tuần tự hóa dữ liệu, điều quan trọng là xác định hoặc quyết định cách cấu trúc dữ liệu trong quá trình tuần tự hóa dữ liệu - phẳng hoặc lồng nhau. Sự khác biệt trong hai phong cách được thể hiện trong các ví dụ dưới đây

phong cách phẳng

{ "Type" : "A", "field1": "value1", "field2": "value2", "field3": "value3" }

kiểu lồng nhau

{"A"
    { "field1": "value1", "field2": "value2", "field3": "value3" } }

Để đọc thêm về hai kiểu, vui lòng xem phần thảo luận về danh sách gửi thư Python, danh sách gửi thư IETF và trong stackexchange

Nối tiếp văn bản

Tệp đơn giản [dữ liệu phẳng]

Nếu dữ liệu được tuần tự hóa nằm trong một tệp và chứa dữ liệu phẳng, Python cung cấp hai phương thức để tuần tự hóa dữ liệu

đại diện

Phương thức repr trong Python lấy một tham số đối tượng duy nhất và trả về một biểu diễn có thể in được của đầu vào

# input as flat text
a =  { "Type" : "A", "field1": "value1", "field2": "value2", "field3": "value3" }

# the same input can also be read from a file
a = open['/tmp/file.py', 'r']

# returns a printable representation of the input;
# the output can be written to a file as well
print[repr[a]]

# write content to files using repr
with open['/tmp/file.py'] as f:f.write[repr[a]]

ast. literal_eval

Phương thức literal_eval phân tích cú pháp và đánh giá một biểu thức cho kiểu dữ liệu Python một cách an toàn. Các loại dữ liệu được hỗ trợ là. chuỗi, số, bộ dữ liệu, danh sách, ký tự, booleans và Không

with open['/tmp/file.py', 'r'] as f: inp = ast.literal_eval[f.read[]]

Tệp CSV [dữ liệu phẳng]

Mô-đun CSV trong Python triển khai các lớp để đọc và ghi dữ liệu dạng bảng ở định dạng CSV

Ví dụ đơn giản để đọc

# Reading CSV content from a file
import csv
with open['/tmp/file.csv', newline=''] as f:
    reader = csv.reader[f]
    for row in reader:
        print[row]

Ví dụ đơn giản để viết

# Writing CSV content to a file
import csv
with open['/temp/file.csv', 'w', newline=''] as f:
    writer = csv.writer[f]
    writer.writerows[iterable]

Nội dung, chức năng và ví dụ của mô-đun có thể được tìm thấy trong tài liệu Python

YAML [dữ liệu lồng nhau]

Có nhiều mô-đun của bên thứ ba để phân tích cú pháp và đọc/ghi cấu trúc tệp YAML trong Python. Một ví dụ như vậy là dưới đây

# Reading YAML content from a file using the load method
import yaml
with open['/tmp/file.yaml', 'r', newline=''] as f:
    try:
        print[yaml.load[f]]
    except yaml.YAMLError as ymlexcp:
        print[ymlexcp]

Có thể tìm thấy tài liệu về mô-đun bên thứ ba trong Tài liệu PyYAML

Tệp JSON [dữ liệu lồng nhau]

Mô-đun JSON của Python có thể được sử dụng để đọc và ghi các tệp JSON. Mã ví dụ dưới đây

Đọc

# Reading JSON content from a file
import json
with open['/tmp/file.json', 'r'] as f:
    data = json.load[f]

Viết

________số 8_______

XML [dữ liệu lồng nhau]

Có thể phân tích cú pháp XML trong Python bằng cách sử dụng gói xml

Thí dụ

# reading XML content from a file
import xml.etree.ElementTree as ET
tree = ET.parse['country_data.xml']
root = tree.getroot[]

Thêm tài liệu về cách sử dụng xml. dom và xml. gói sax có thể được tìm thấy trong tài liệu thư viện Python XML

nhị phân

Mảng NumPy [dữ liệu phẳng]

Mảng NumPy của Python có thể được sử dụng để tuần tự hóa và giải tuần tự hóa dữ liệu đến và từ biểu diễn byte

Thí dụ

{"A"
    { "field1": "value1", "field2": "value2", "field3": "value3" } }
0

Dưa chua [dữ liệu lồng nhau]

Mô-đun tuần tự hóa dữ liệu gốc cho Python được gọi là Pickle

Đây là một ví dụ

{"A"
    { "field1": "value1", "field2": "value2", "field3": "value3" } }
1

nguyên mẫu

Nếu bạn đang tìm kiếm một mô-đun tuần tự hóa hỗ trợ nhiều ngôn ngữ, thư viện Protobuf của Google là một tùy chọn

serialize và deserialize nghĩa là gì?

Sắp xếp theo thứ tự là quá trình chuyển đổi một đối tượng thành một luồng byte để lưu trữ đối tượng hoặc truyền nó vào bộ nhớ, cơ sở dữ liệu hoặc tệp . Mục đích chính của nó là lưu trạng thái của một đối tượng để có thể tạo lại nó khi cần. Quá trình ngược lại được gọi là deserialization.

Tuần tự hóa trong Python là gì?

Tuần tự hóa đề cập đến quá trình chuyển đổi một đối tượng dữ liệu [e. g. , đối tượng Python, mô hình Tensorflow] thành định dạng cho phép chúng tôi lưu trữ hoặc truyền dữ liệu, sau đó tạo lại đối tượng khi cần bằng cách sử dụng quy trình khử lưu huỳnh ngược

Tuần tự hóa và giải tuần tự hóa JSON trong Python là gì?

Là định dạng mã hóa dữ liệu ở định dạng chuỗi. JSON là ngôn ngữ độc lập và do đó, nó được sử dụng để lưu trữ hoặc truyền dữ liệu trong tệp. Việc chuyển đổi dữ liệu từ chuỗi đối tượng JSON được gọi là Tuần tự hóa và đối tượng JSON chuỗi ngược lại được gọi là Giải tuần tự hóa .

Tuần tự hóa và giải tuần tự hóa JSON có nghĩa là gì?

JSON là định dạng mã hóa các đối tượng trong một chuỗi. Chuỗi hóa có nghĩa là chuyển đổi một đối tượng thành chuỗi đó và giải tuần tự hóa là hoạt động ngược lại của nó [chuyển đổi chuỗi -> đối tượng] .

Chủ Đề