Từ điển dưa chua trong Python

Tu Dien Dua Chua Trong Python



Pickle có thể được sử dụng để xử lý trước các khung thực thể Python, đây là quá trình chuyển đổi một đối tượng từ bộ nhớ thành luồng byte có thể được lưu vào đĩa dưới dạng định dạng nhị phân. Quy trình này được gọi là tuần tự hóa. Để thực hiện điều này, hãy sử dụng phương thức pickle dump(). Khi bản ghi nhị phân này được tải lại vào chương trình Python, nó có thể được loại bỏ tuần tự hóa và chuyển đổi trở lại đối tượng Python bằng phương thức pickle load().

Bài viết này hướng dẫn bạn cách lưu trữ dữ liệu, cụ thể hơn là một từ điển, sử dụng mô-đun pickle của Python. Để bắt đầu, chúng ta phải mua mô-đun dưa chua. Pickle dump() chấp nhận ba tham số. Đầu vào đầu tiên chỉ định dữ liệu để lưu. Tham số thứ hai là đối tượng tệp được trả về khi tệp được mở ở chế độ ghi nhị phân (wb). Đối số khóa-giá trị là tham số thứ ba. Giao thức được xác định bởi tham số này. Một dưa chua được phân thành hai loại: GIAO THỨC CAO NHẤT cũng như một dưa chua GIAO THỨC MẶC ĐỊNH. Để truy xuất hoặc giải tuần tự hóa dữ liệu, phương thức pickle load() được sử dụng để lấy đối tượng tệp bằng cách mở tệp ở chế độ đọc-nhị phân (rb).







Ví dụ 1: Tuần tự hóa và giải tuần tự hóa dữ liệu trong tệp Pickle bằng hàm Pickle Dump and Load

Trong ví dụ này, chúng ta sẽ tìm hiểu cách tuần tự hóa và giải tuần tự hóa dữ liệu dưới dạng từ điển bằng một đoạn mã rất đơn giản.




Trong mã được trình bày trong hình minh họa trước, mô-đun dưa chua đầu tiên từ thư viện Python được nhập để có thể sử dụng các phương thức của nó. Sau đó, một từ điển dữ liệu gồm 2 khóa và giá trị được khởi tạo và lưu trữ trong biến có tên “shape”. Trong dòng tiếp theo, phương thức pickle dump() được sử dụng để mở một tệp mới có tên “info.p” ở chế độ ghi nhị phân (wb) và dữ liệu “shape” được lưu trữ trong tệp này. Trong dòng tiếp theo, phương thức pickle load() được sử dụng cho cùng một tệp mà chúng tôi đã kết xuất dữ liệu ở chế độ rb. Điều này trả về dữ liệu từ điển của chúng tôi và được lưu trữ trong biến có tên là “a”. Cuối cùng, đối tượng được trả về này được hiển thị ở đầu ra bằng cách sử dụng lệnh in như trong ảnh chụp màn hình sau.



Chúng ta có thể thấy rằng dữ liệu đầu tiên được lưu trữ trong tệp “info.p” bằng phương pháp kết xuất. Sau đó, khi chúng tôi sử dụng phương thức load() cho cùng một tệp, chúng tôi đã lấy lại được dữ liệu của mình.





Ví dụ 2: Sử dụng Hàm Pickle Dump với Giao thức bổ sung để tuần tự hóa dữ liệu trong Python

Đây là một ví dụ tương tự trong đó chúng tôi sử dụng một giao thức bổ sung, “HIGHEST_PROTOCOL”, của dưa chua là giao thức mới nhất. Giao thức này cho phép các tính năng ngôn ngữ mới mà chúng tôi có thể sử dụng và bao gồm các tối ưu hóa.




Trong mã được cung cấp trong hình minh họa trước, mô-đun dưa chua đầu tiên được nhập. Sau đó, một từ điển của một mục có khóa và giá trị được khởi tạo và lưu trữ trong biến “a”. Trong dòng tiếp theo, một tệp mới có tên là “info.p” được mở ở chế độ wb dưới dạng một tay cầm. Bây giờ, tệp nằm trong đối tượng có tên là “xử lý”. Sau đó, hàm dump() được sử dụng để”'xử lý' với từ điển 'a' bằng cách sử dụng 'HIGHEST_PROTOCOL'. Điều này cho phép từ điển trong “a” được lưu trong tệp “info.p” trên đĩa của máy tính. Để trích xuất thông tin từ tệp, trước tiên, tệp được mở ở chế độ “rb”. Sau đó, phương thức pickle load() được sử dụng cho tệp này. Dữ liệu trả về được lưu trong thuộc tính “b”. Cuối cùng, sử dụng lệnh in, thông tin này được hiển thị tại nút đầu ra, như được thấy trong ảnh chụp màn hình sau:

Ví dụ 3: Tuần tự hóa và giải tuần tự hóa danh sách dữ liệu trong tệp Pickle bằng hàm Pickle Dump and Load

Trong ví dụ này, mô-đun dưa chua được nhập trước. Sau đó, một số dữ liệu được chèn vào từ điển ở định dạng danh sách và được lưu trữ trong biến “shape_colors”. Trong dòng tiếp theo, phương thức pickle dump() được sử dụng trực tiếp với dữ liệu này. Thay cho tệp trong tham số của nó, tệp “info.p” được mở ở chế độ wb. Do đó, dữ liệu từ điển hiện được đổ vào tệp này được lưu trữ trên đĩa của máy tính. Sau đó, để đọc dữ liệu từ tệp, phương thức pickle load() được sử dụng trên cùng một tệp. Dữ liệu trả về được lưu trong biến “a”. Cuối cùng, sử dụng lệnh in, thông tin này được hiển thị tại các thiết bị đầu cuối thứ cấp, như được mô tả trong ảnh chụp nhanh sau:



Ví dụ 4: Lưu trữ thông tin trong tệp Pickle bằng cách sử dụng hàm Pickle Dump và Load với các tham số khác nhau

Trong mã được cung cấp, mô-đun dưa chua đầu tiên được nhập. Sau đó, một từ điển về tiền lương được khởi tạo và lưu trữ trong biến “salaries”. Trong dòng tiếp theo, một tệp mới “salary.p” được mở ở chế độ wb dưới dạng một tay cầm. Bây giờ, tệp nằm trong đối tượng có tên là “xử lý”. Sau đó, hàm pickle dump() được sử dụng để “xử lý” với từ điển “tiền lương” bằng cách sử dụng “HIGHEST_PROTOCOL”. Điều này cho phép từ điển trong “salaries” được lưu trong tệp “salary.p” vào đĩa của máy tính. Bây giờ, để lấy lại dữ liệu từ tệp, trước tiên, tệp được mở ở chế độ “rb”. Sau đó, phương thức pickle load() được sử dụng cho tệp này. Thông tin hoàn nguyên được lưu trong biến “a”. Cuối cùng, thông qua việc sử dụng lệnh in, dữ liệu này được hiển thị ở đầu ra như được mô tả trong ảnh chụp nhanh sau:



Ví dụ 5: Tuần tự hóa và giải tuần tự hóa dữ liệu theo nhiều chiều trong tệp Pickle bằng cách sử dụng chức năng Pickle Dump and Load

Tạo DataFrames (bảng đa chiều) trong Python rất hữu ích để thử nghiệm các phương thức và chức năng mới được tìm thấy trong mô-đun Python của Panda. Có nhiều phương pháp khác nhau để xây dựng DataFrame từ đầu, nhưng một trong những cách đơn giản nhất là sử dụng một từ điển cơ bản.


Trong mã được cung cấp trong hình minh họa trước, mô-đun dưa chua và Pandas đầu tiên được nhập. Sau đó, một bảng nhiều chiều được tạo bằng phương thức pd.DataFrame(). Thuộc tính tiếp theo của chiến lược là một danh sách gồm bốn danh sách. Mỗi danh sách tương ứng với một hàng của bảng. Tham số thứ hai là “columns” xác định tiêu đề của mỗi cột trong bảng. DataFrame này được lưu trữ trong “pre”. Sau đó, một tệp mới có tên là “attendance.p” được mở ở chế độ wb và phương thức pickle dump() được sử dụng trên tệp này với DataFrame. Giờ đây, dữ liệu đã chỉ định của chúng tôi được lưu trữ trong tệp “attendance.p” trên đĩa cứng của máy tính.


Để lấy dữ liệu từ tệp, chúng tôi mở tệp ở chế độ rb cho phép đọc tệp. Sau đó, phương thức pickle load() được sử dụng trong tệp “attendance.p”. Cuối cùng, dữ liệu trong tệp được hiển thị ở đầu ra. Như chúng ta có thể thấy, toàn bộ DataFrame được hiển thị ở đầu ra được lưu trữ trong tệp “attendance.p”.

Sự kết luận

Thực hiện các biện pháp phòng ngừa bổ sung khi làm việc với dũa dưa chua. Mô-đun dưa chua thiếu bảo mật. Chỉ giải nén dữ liệu mà bạn tin tưởng. Có thể tạo dữ liệu pickle độc ​​hại có thể thực thi mã tùy ý trong quá trình giải nén. Tuy nhiên, đây là một phương pháp hiệu quả để lưu trữ từ điển, danh sách và bảng trong Python. Pickling đặc biệt có lợi trong phân tích dữ liệu khi bạn đang thực hiện các hoạt động thông thường trên dữ liệu, chẳng hạn như tiền xử lý. Tôi hy vọng bài viết này đã giúp bạn tìm hiểu về các phương thức khác nhau của mô-đun pickle của Python và cách sử dụng nó với từ điển.