Pprint có được tích hợp sẵn với python không?

Trong bài viết này, chúng tôi sẽ đề cập đến một số cách để làm sạch dữ liệu của bạn và giúp dữ liệu dễ đọc và truy cập hơn bằng cách sử dụng mô-đun

# Pretty Printed
import pprint
pprint.pprint[lst]
3 tích hợp sẵn của Python

Hãy nhớ rằng, máy của bạn rất hiệu quả với dữ liệu của bạn, nhưng nó không quan tâm dữ liệu đó xuất hiện như thế nào đối với mắt người.  

Vì vậy, hãy tìm hiểu cách thao tác dữ liệu của chúng tôi để đơn giản hóa việc phân tích

Danh sách pprint Python

Để in đẹp danh sách, hãy sử dụng hàm

# Pretty Printed
import pprint
pprint.pprint[lst]
4 từ mô-đun
# Pretty Printed
import pprint
pprint.pprint[lst]
5 đi kèm với thư viện chuẩn Python và không cần cài đặt thủ công. Đối với danh sách phẳng, mô-đun sẽ in một phần tử danh sách trên mỗi dòng nếu nó không vừa với một dòng đầu ra được in

Giả sử, bạn có danh sách 30 giá trị sau

# Not Pretty Printed
lst = ['Alice', 'Bob', 'Carl'] * 10
print[lst]

đầu ra

['Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl']

Việc ngắt dòng bắt buộc không được đẹp lắm. Cách đơn giản nhất để “làm đẹp” đầu ra là sử dụng pprint. chức năng pprint[] như vậy

# Pretty Printed
import pprint
pprint.pprint[lst]

đầu ra

['Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl']

Theo mặc định, mô-đun sẽ in một phần tử trên mỗi dòng nếu toàn bộ đầu ra của danh sách không vừa với một dòng đầu ra được in

“Pretty Print” một tệp JSON bằng Python

💡 JSON hoặc “Ký hiệu đối tượng Javascript” là một định dạng được sử dụng để trình bày dữ liệu và là một định dạng trao đổi dữ liệu nhẹ, thân thiện với con người và máy móc cũng như rất thân thiện với Python

Tin tuyệt vời là nếu bạn đã biết một số Python và Javascript, điều này sẽ dễ dàng với bạn

Hãy nghĩ về từ điển trong Python để có ý tưởng về định dạng cho các cặp JSON – “key”/”value”. “Khóa” luôn là chuỗi, “giá trị” bao gồm int, Bool, mảng, none và các đối tượng khác

Có nhiều cách để lấy dữ liệu cho loại dự án này – Tôi đã tìm thấy một tệp JSON về nhân viên của một công ty giả mà tôi sẽ sử dụng cho bài học này. Bạn cũng có thể sử dụng

# Pretty Printed
import pprint
pprint.pprint[lst]
6 từ mô-đun
# Pretty Printed
import pprint
pprint.pprint[lst]
7 để lấy dữ liệu giả

Hãy nhập một số mã và xem

# Pretty Printed
import pprint
pprint.pprint[lst]
5 hoạt động

Trước tiên, chúng ta cần nhập các công cụ của mình

import json
from pprint import pp  
# 💡 Info: pp is an alias for pprint to save typing.  

Tiếp theo, hãy viết một số mã để lấy dữ liệu của chúng tôi và gán nó cho một biến

with open['EmployeeData.json'] as json_file:
    data = json.load[json_file]

Tệp

# Pretty Printed
import pprint
pprint.pprint[lst]
9 của chúng tôi đã được tải và gán cho biến
['Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl']
0.  

Bây giờ, chúng ta có thể in cái này và xem đầu ra bằng cách sử dụng hàm

['Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl']
1 tiêu chuẩn

print[data]

đầu ra

[{'id': 4051, 'name': 'manoj', 'email': 'manoj@gmail.com', 'password': 'Test@123', 'about': None, 'token': '7f471974-ae46-4ac0-a882-1980c300c4d6', 'country': None, 'location': None, 'lng': 0, 'lat': 0, 'dob': None, 'gender': 0, 'userType': 1, 'userStatus': 1, 'profilePicture': 'Images/9b291404-bc2e-4806-88c5-08d29e65a5ad.png', 'coverPicture': 'Images/44af97d9-b8c9-4ec1-a099-010671db25b7.png', 'enablefollowme': False, 'sendmenotifications': False, 'sendTextmessages': False, 'enabletagging': False, 'createdAt': '2020-01-01T11:13:27.1107739', 'updatedAt': '2020-01-02T09:16:49.284864', 'livelng': 77.389849, 'livelat': 2

Như chúng ta có thể thấy, phần rất nhỏ này trong tổng số đầu ra chỉ là một khối thông tin lớn giống như những dòng dài của từ điển Python – không “đẹp” hay dễ đọc đối với con người

Hãy thực hiện bước đầu tiên để xem

# Pretty Printed
import pprint
pprint.pprint[lst]
5 đang hoạt động

pp[data]

đầu ra

[{'id': 4051,
  'name': 'manoj',
  'email': 'manoj@gmail.com',
  'password': 'Test@123',
  'about': None,
  'token': '7f471974-ae46-4ac0-a882-1980c300c4d6',
  'country': None,
  'location': None,
  'lng': 0,
  'lat': 0,
  'dob': None,
  'gender': 0,
  'userType': 1,
  'userStatus': 1,
  'profilePicture': 'Images/9b291404-bc2e-4806-88c5-08d29e65a5ad.png',
  'coverPicture': 'Images/44af97d9-b8c9-4ec1-a099-010671db25b7.png',
  'enablefollowme': False,
  'sendmenotifications': False,
  'sendTextmessages': False,
  'enabletagging': False,
  'createdAt': '2020-01-01T11:13:27.1107739',
  'updatedAt': '2020-01-02T09:16:49.284864',
  'livelng': 77.389849,
  'livelat': 28.6282231,
  'liveLocation': 'Unnamed Road, Chhijarsi, Sector 63, Noida, Uttar Pradesh '
                  '201307, India',
  'creditBalance': 127,
  'myCash': 0},
 {'id': 4050,
  'name': 'pankaj',
  'email': 'p1@gmail.com',
  'password': 'Test@123',
  'about': None,
  'token': 'e269eeef-1de1-4438-885a-e30a9ad26106',
  'country': None,
  'location': None,
  'lng': 0,
  'lat': 0,
  'dob': None,
  'gender': 0,
  'userType': 1,
  'userStatus': 1,
  'profilePicture': None,

Đây là một mẫu đầu ra ngắn khác, nhưng chúng ta có thể thấy dữ liệu của mình dễ đọc hơn nhiều như thế nào – được sắp xếp theo các cặp khóa-giá trị, mỗi cặp trên một dòng mới

Bạn có thể quét dữ liệu theo chiều dọc, chọn các khóa mà bạn quan tâm. Nó không đơn giản hơn thế nhiều và trong video được cung cấp ở phần đầu, tôi đã thử nghiệm với việc này xa hơn một chút.  

Một điều khác cần lưu ý khi bạn phân tích đầu ra này là cấu trúc của dữ liệu JSON giống như danh sách từ điển của tôi trong phần tiếp theo

Sử dụng Python pprint để làm đẹp một từ điển

Chúng tôi đã thấy cách chúng tôi có thể làm cho tệp JSON đẹp hơn với

# Pretty Printed
import pprint
pprint.pprint[lst]
5, bây giờ hãy tạo một từ điển và xem cách chúng tôi có thể điều khiển sự hấp dẫn trực quan và khả năng đọc của nó

Một lưu ý nhanh trước khi chúng tôi nhập mã ở đây. Có một số cách để có được kết quả mà chúng tôi muốn cho dữ liệu, vì vậy nếu bạn biết một cách khác để sử dụng

# Pretty Printed
import pprint
pprint.pprint[lst]
5, điều đó thật tuyệt – chúng tôi không đề cập đến tất cả các khả năng của nó trong một bài viết này – chỉ đưa ra phần giới thiệu

Tôi đã tạo một danh sách các từ điển để sử dụng làm dữ liệu giả cho phần hướng dẫn này

['Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl']
0

đầu ra

['Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl']
1

Chúng ta có thể thấy rằng hàm

['Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl']
5 bình thường của Python cung cấp cho chúng ta một dòng mã liên tục và chia nhỏ danh sách gọn gàng và có tổ chức ban đầu của chúng ta

Bây giờ hãy xem chúng ta có thể làm gì với

# Pretty Printed
import pprint
pprint.pprint[lst]
5

['Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl']
2

Tôi đã thêm tham số

['Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl']
7 để duy trì thứ tự dữ liệu của mình. Thêm về điều này trong một phút

đầu ra

['Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl']
3

Điều đó đưa chúng tôi trở lại đầu ra rõ ràng, có thể đọc được. Bây giờ, hãy xem loại giao diện nào khi thêm một số tham số khác của

# Pretty Printed
import pprint
pprint.pprint[lst]
5 mang lại cho chúng ta

['Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl']
4

Tôi đã thêm tham số “

['Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl']
9” ở vị trí 2 để thay đổi cấu trúc của dữ liệu và “
['Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl',
 'Alice',
 'Bob',
 'Carl']
7” thành
import json
from pprint import pp  
# 💡 Info: pp is an alias for pprint to save typing.  
1 [theo mặc định là
import json
from pprint import pp  
# 💡 Info: pp is an alias for pprint to save typing.  
2] nên
# Pretty Printed
import pprint
pprint.pprint[lst]
5 sẽ không thay đổi thứ tự các mục nhập của tôi

đầu ra

['Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl']
5

Điều này mang lại cho chúng tôi một biểu diễn dữ liệu theo chiều dọc – một cái nhìn rất rõ ràng và thú vị về cùng một thông tin

Chúng ta cũng có thể thêm tham số “

import json
from pprint import pp  
# 💡 Info: pp is an alias for pprint to save typing.  
4” được đặt thành 2 để tạo khoảng trống ở bên trái dữ liệu – lưu ý khoảng trắng sau dấu ngoặc nhọn giúp dữ liệu dễ đọc hơn một chút

['Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl']
6

đầu ra

['Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl']
7

Chúng tôi cũng có thể sử dụng chỉ mục được chỉ định để tìm kiếm tệp của mình cho một số nhân viên cụ thể, giống như chúng tôi làm với bất kỳ danh sách Python nào

['Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl']
8

đầu ra

['Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl', 'Alice', 'Bob', 'Carl']
9

Và chúng tôi nhận được thông tin của nhân viên thứ hai Adam. Các hoạt động danh sách khác cũng có thể được thực hiện, chẳng hạn như cắt và nối thêm nếu chúng tôi có một mục mới cho dữ liệu của mình

Có nhiều cách khác mà bạn có thể thử nghiệm với

# Pretty Printed
import pprint
pprint.pprint[lst]
5 và các tham số của nó.  

Python pprint thành Chuỗi

💬 câu hỏi. Làm cách nào để phương thức

# Pretty Printed
import pprint
pprint.pprint[lst]
4 của Python trả về một chuỗi thay vì in nó ra đầu ra tiêu chuẩn?

Để in đẹp thành một chuỗi thay vì đầu ra tiêu chuẩn, bạn có thể sử dụng hàm

import json
from pprint import pp  
# 💡 Info: pp is an alias for pprint to save typing.  
7 thay vì
import json
from pprint import pp  
# 💡 Info: pp is an alias for pprint to save typing.  
8. Giá trị trả về của hàm
import json
from pprint import pp  
# 💡 Info: pp is an alias for pprint to save typing.  
9 là một chuỗi có thể được lưu vào một biến hoặc xử lý thêm

Đây là một ví dụ tối thiểu

# Pretty Printed
import pprint
pprint.pprint[lst]
0

🌍 Tìm hiểu thêm. Trong trường hợp bạn cần một số thông tin về phương pháp tạo từ điển thứ ba trong danh sách từ điển của chúng tôi, hãy xem bài viết của chúng tôi về hiểu từ điển

đầu ra

# Pretty Printed
import pprint
pprint.pprint[lst]
1

👉 Đọc thêm. Python – Làm cách nào để pprint[] thành Chuỗi không in ra Shell?

Python pprint vào tệp

Bạn có thể in thành tệp một cách đẹp mắt bằng cách sử dụng đối số

with open['EmployeeData.json'] as json_file:
    data = json.load[json_file]
0 của hàm
import json
from pprint import pp  
# 💡 Info: pp is an alias for pprint to save typing.  
8 và chuyển một đối tượng giống như tệp vào đó như thu được thông qua hàm
with open['EmployeeData.json'] as json_file:
    data = json.load[json_file]
2 tích hợp sẵn của Python. Mô-đun
# Pretty Printed
import pprint
pprint.pprint[lst]
5 sau đó sẽ tự động gọi hàm
with open['EmployeeData.json'] as json_file:
    data = json.load[json_file]
4 trên đối tượng tệp

Ví dụ,

with open['EmployeeData.json'] as json_file:
    data = json.load[json_file]
5 sẽ in đẹp nội dung của
with open['EmployeeData.json'] as json_file:
    data = json.load[json_file]
6 vào tệp có tên
with open['EmployeeData.json'] as json_file:
    data = json.load[json_file]
7

Phần sau đây cho thấy một ví dụ tối thiểu trong đó chúng ta chuyển đối số

with open['EmployeeData.json'] as json_file:
    data = json.load[json_file]
0 dưới dạng đối số vị trí thứ hai vào hàm
# Pretty Printed
import pprint
pprint.pprint[lst]
4

# Pretty Printed
import pprint
pprint.pprint[lst]
2

“Đầu ra” là một tệp mới

print[data]
0 với nội dung như sau

Phần kết luận

Lấy thông tin giới thiệu này và chạy với nó, bạn sẽ thấy rằng đây là một mô-đun mạnh mẽ mà bạn sẽ sử dụng nhiều lần trong các dự án dữ liệu Python của mình, đặc biệt là khi trao đổi dữ liệu từ máy chủ sang ứng dụng web

Pprint có được bao gồm trong Python không?

Mô-đun pprint trong Python là một mô-đun tiện ích mà bạn có thể sử dụng để in các cấu trúc dữ liệu theo cách đẹp mắt, dễ đọc. Đó là một phần của thư viện tiêu chuẩn đặc biệt hữu ích để gỡ lỗi mã xử lý các yêu cầu API, tệp JSON lớn và dữ liệu nói chung.

Sự khác biệt giữa in và Pprint trong Python là gì?

hàm pprint[] cũng có chức năng tương tự. Nhưng điểm khác biệt duy nhất là cách nó in các cấu trúc dữ liệu phức tạp . Hàm print[] bình thường in toàn bộ nội dung trong một dòng. Điều này tốt nếu nội dung được in có độ dài nhỏ và không phải là cấu trúc dữ liệu phức tạp.

Làm đẹp trong Python là gì?

Mô-đun pprint cung cấp khả năng “in đẹp” các cấu trúc dữ liệu Python tùy ý ở dạng có thể được sử dụng làm đầu vào cho trình thông dịch. If the formatted structures include objects which are not fundamental Python types, the representation may not be loadable.

In đẹp hoạt động như thế nào?

Prettyprint là quá trình chuyển đổi và trình bày mã nguồn hoặc các đối tượng khác theo cách dễ đọc và hấp dẫn. Máy in đẹp lấy các khối mã và in chúng theo kiểu thẩm mỹ, trình bày các ký tự bằng ngắt dòng và thụt đầu dòng để làm cho mã dễ hiểu .

Chủ Đề