Hướng dẫn tabulación en python - lập bảng trong python

python-tabulate

Dữ liệu bảng in đẹp trong Python, thư viện và tiện ích dòng lệnh.

Nội dung chính Show

  • python-tabulate
  • Cài đặt
  • Xây dựng trạng thái
  • Sử dụng thư viện
  • Tiêu đề
  • Chỉ số hàng
  • Định dạng bảng
  • Căn chỉnh cột
  • Căn chỉnh cột tùy chỉnh
  • Định dạng số
  • Định dạng văn bản
  • Biểu tượng rộng [FullWidth CJK]
  • Tế bào đa dòng
  • Tự động hóa đa dòng
  • Thêm các dòng phân tách
  • Hỗ trợ ANSI
  • Việc sử dụng tiện ích dòng lệnh
  • Cân nhắc hiệu suất
  • Lịch sử phiên bản
  • Làm thế nào để đóng góp
  • Người đóng góp
  • Làm thế nào để bạn thêm một bảng trong Python?
  • Làm thế nào để bạn nhập bảng?
  • Tại sao tôi không thể nhập bảng trong Python?
  • Làm thế nào để bạn cài đặt bảng trong Conda?

Các trường hợp sử dụng chính của thư viện là:

  • In các bảng nhỏ mà không gặp rắc rối: Chỉ một cuộc gọi chức năng, định dạng được hướng dẫn bởi chính dữ liệu
  • Tác giả dữ liệu bảng cho đánh dấu văn bản đơn giản nhẹ: Nhiều định dạng đầu ra phù hợp để chỉnh sửa hoặc chuyển đổi thêm
  • Trình bày có thể đọc được của dữ liệu văn bản và số hỗn hợp: Căn chỉnh cột thông minh, định dạng số có thể định cấu hình, căn chỉnh theo một điểm thập phân

Cài đặt

Để cài đặt thư viện Python và tiện ích dòng lệnh, chạy:

pip install tabulate

Tiện ích dòng lệnh sẽ được cài đặt dưới dạng

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
4 đến
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
5 trên Linux [ví dụ:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
6]; hoặc như
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
7 đến
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
8 trong cài đặt Python của bạn trên Windows [ví dụ:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
9].

Bạn có thể xem xét cài đặt thư viện chỉ cho người dùng hiện tại:

pip install tabulate --user

Trong trường hợp này, tiện ích dòng lệnh sẽ được cài đặt lên

>>> print[tabulate[[["F",24],["M",19]], showindex="always"]]
-  -  --
0  F  24
1  M  19
-  -  --
0 trên Linux và
>>> print[tabulate[[["F",24],["M",19]], showindex="always"]]
-  -  --
0  F  24
1  M  19
-  -  --
1 trên Windows.

Để chỉ cài đặt thư viện trên các hệ điều hành giống UNIX:

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
0

Trên Windows:

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
1

Xây dựng trạng thái

Sử dụng thư viện

Mô-đun chỉ cung cấp một hàm,

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
4, lấy một danh sách danh sách hoặc một loại dữ liệu dạng bảng khác làm đối số đầu tiên và xuất ra một bảng văn bản đơn giản được định dạng độc đáo:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
3

Các loại dữ liệu bảng sau được hỗ trợ:

  • Danh sách danh sách hoặc một số khác của Iterables
  • Danh sách hoặc một điều khác có thể đi được của Dicts [phím là cột]
  • Dict of Iterables [phím làm cột]
  • Danh sách các dữ liệu [chỉ Python 3.7+, tên trường là cột]
  • Mảng numpy hai chiều
  • Mảng bản ghi Numpy [tên dưới dạng cột]
  • gấu trúc.dataframe

Tabulation là một thư viện Python3.

Tiêu đề

Đối số tùy chọn thứ hai có tên

>>> print[tabulate[[["F",24],["M",19]], showindex="always"]]
-  -  --
0  F  24
1  M  19
-  -  --
3 xác định danh sách các tiêu đề cột sẽ được sử dụng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
5

Nếu

>>> print[tabulate[[["F",24],["M",19]], showindex="always"]]
-  -  --
0  F  24
1  M  19
-  -  --
4, thì hàng dữ liệu đầu tiên được sử dụng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
7

Nếu

>>> print[tabulate[[["F",24],["M",19]], showindex="always"]]
-  -  --
0  F  24
1  M  19
-  -  --
5, thì các khóa của Dictionary/DataFrame hoặc các chỉ số cột được sử dụng. Nó cũng hoạt động cho các mảng bản ghi Numpy và danh sách từ điển hoặc có tên là Tuples:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob

Chỉ số hàng

Theo mặc định, chỉ các bảng pandas.dataframe có một cột bổ sung có tên là chỉ mục hàng. Để thêm một cột tương tự với bất kỳ loại bảng nào khác, hãy chuyển đối số

>>> print[tabulate[[["F",24],["M",19]], showindex="always"]]
-  -  --
0  F  24
1  M  19
-  -  --
6 hoặc
>>> print[tabulate[[["F",24],["M",19]], showindex="always"]]
-  -  --
0  F  24
1  M  19
-  -  --
7 cho
>>> print[tabulate[[["F",24],["M",19]], showindex="always"]]
-  -  --
0  F  24
1  M  19
-  -  --
8. Để triệt tiêu các chỉ số hàng cho tất cả các loại dữ liệu, hãy truyền
>>> print[tabulate[[["F",24],["M",19]], showindex="always"]]
-  -  --
0  F  24
1  M  19
-  -  --
9 hoặc
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
40. Để thêm cột chỉ mục hàng tùy chỉnh, Pass
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
41, trong đó
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
42 là một số điều đáng kể:
>>> print[tabulate[[["F",24],["M",19]], showindex="always"]]
-  -  --
0  F  24
1  M  19
-  -  --

Định dạng bảng

Có nhiều hơn một cách để định dạng một bảng trong văn bản thuần túy. Đối số tùy chọn thứ ba có tên

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
43 định nghĩa cách bảng được định dạng.

Các định dạng bảng được hỗ trợ là:

  • "plain"
  • "simple"
  • "github"
  • "grid"
  • "simple_grid"
  • "rounded_grid"
  • "heavy_grid"
  • "mixed_grid"
  • "double_grid"
  • "fancy_grid"
  • "outline"
  • "simple_outline"
  • "rounded_outline"
  • "heavy_outline"
  • "mixed_outline"
  • "double_outline"
  • "fancy_outline"
  • "pipe"
  • "orgtbl"
  • "asciidoc"
  • "jira"
  • "presto"
  • "pretty"
  • "psql"
  • "rst"
  • "mediawiki"
  • "Moinmoin"
  • "youtrack"
  • "html"
  • "unsafehtml"
  • "latex"
  • "latex_raw"
  • "latex_booktabs"
  • "latex_longtable"
  • "textile"
  • "tsv"
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
44 Bảng không sử dụng bất kỳ trò chơi giả nào để vẽ các dòng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
4
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
45 là định dạng mặc định [mặc định có thể thay đổi trong các phiên bản trong tương lai]. Nó tương ứng với
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
46 trong phần mở rộng Pandoc Markdown:
pip install tabulate --user
0
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
47 tuân theo các quy ước của Markdown có hương vị GitHub. Nó tương ứng với định dạng
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
48 mà không cần căn liên kết các dấu hiệu:
pip install tabulate --user
1
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
49 giống như các bảng được định dạng bởi gói bảng của Emacs. Nó tương ứng với
pip install tabulate --user
00 trong phần mở rộng Pandoc Markdown:
pip install tabulate --user
2
pip install tabulate --user
01 vẽ một lưới bằng cách sử dụng các ký tự vẽ hộp đơn:
pip install tabulate --user
3
pip install tabulate --user
02 vẽ một lưới bằng cách sử dụng các ký tự vẽ hộp đơn với các góc tròn:
pip install tabulate --user
4
pip install tabulate --user
03 vẽ một lưới bằng cách sử dụng các ký tự vẽ một dòng chữ đậm [dày]:
pip install tabulate --user
5
pip install tabulate --user
04 vẽ một lưới bằng cách sử dụng hỗn hợp các ký tự hình hộp ánh sáng [mỏng] và nặng [dày]:
pip install tabulate --user
6
pip install tabulate --user
05 vẽ một lưới bằng cách sử dụng các ký tự vẽ hộp hai dòng:
pip install tabulate --user
7
pip install tabulate --user
06 vẽ một lưới bằng cách sử dụng hỗn hợp các ký tự vẽ hộp đơn và hai dòng:
pip install tabulate --user
8
pip install tabulate --user
07 giống như định dạng
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
49 nhưng không vẽ các đường giữa các hàng:
pip install tabulate --user
9
pip install tabulate --user
09 giống như định dạng
pip install tabulate --user
01 nhưng không vẽ các đường giữa các hàng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
00
pip install tabulate --user
11 giống như định dạng
pip install tabulate --user
02 nhưng không vẽ các đường giữa các hàng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
01
pip install tabulate --user
13 giống như định dạng
pip install tabulate --user
03 nhưng không vẽ các đường giữa các hàng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
02
pip install tabulate --user
15 giống như định dạng
pip install tabulate --user
04 nhưng không vẽ các đường giữa các hàng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
03
pip install tabulate --user
17 giống như định dạng
pip install tabulate --user
05 nhưng không vẽ các đường giữa các hàng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
04
pip install tabulate --user
19 giống như định dạng
pip install tabulate --user
06 nhưng không vẽ các đường giữa các hàng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
05
pip install tabulate --user
21 giống như các bảng được định dạng bởi Presto CLI:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
06
pip install tabulate --user
22 Cố gắng gần với định dạng phát ra từ thư viện PrettyTables:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
07
pip install tabulate --user
23 giống như các bảng được định dạng bởi PSQL CLI của Postgres:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
08
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
48 tuân theo các quy ước của phần mở rộng bổ sung PHP. Nó tương ứng với
pip install tabulate --user
25 trong pandoc. Định dạng này sử dụng các dấu chấm để chỉ ra căn chỉnh cột:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
09
pip install tabulate --user
26 Định dạng dữ liệu giống như một bảng đơn giản của định dạng asciidoctor:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
10
pip install tabulate --user
27 tuân theo các quy ước của Emacs org-mode, và cũng có thể chỉnh sửa trong chế độ orgtbl nhỏ. Do đó tên của nó:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
11
pip install tabulate --user
28 tuân theo các quy ước của ngôn ngữ đánh dấu Atlassian Jira:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
12
pip install tabulate --user
29 Định dạng dữ liệu giống như một bảng đơn giản của định dạng ReserfuredText:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
13

Định dạng

pip install tabulate --user
30 tạo ra một đánh dấu bảng được sử dụng trong Wikipedia và trên các trang web dựa trên MediaWiki khác:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
14

Định dạng

pip install tabulate --user
31 tạo ra một đánh dấu bảng được sử dụng trong Wikis Moinmoin:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
15

Định dạng

pip install tabulate --user
32 tạo ra một đánh dấu bảng được sử dụng trong vé YouTrack:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
16

Định dạng

pip install tabulate --user
33 tạo ra một đánh dấu bảng được sử dụng ở định dạng dệt:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
17
pip install tabulate --user
34 tạo ra đánh dấu HTML tiêu chuẩn dưới dạng HTML.ESCAPE'D STR với phương thức .REPR_HTML để phòng thí nghiệm Jupyter và sổ ghi chép hiển thị thuộc tính HTML và .STR để HTML thô vẫn có thể truy cập được.
pip install tabulate --user
35 Định dạng bảng có thể được sử dụng nếu cần có HTML không được xử lý:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
18

Định dạng

pip install tabulate --user
36 Tạo môi trường
pip install tabulate --user
37 cho đánh dấu latex, thay thế các ký tự đặc biệt như
pip install tabulate --user
38 hoặc
pip install tabulate --user
39 cho các phóng viên latex của họ:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
19
pip install tabulate --user
40 hoạt động như
pip install tabulate --user
36 nhưng không thoát khỏi các lệnh latex và ký tự đặc biệt.
pip install tabulate --user
42 Tạo môi trường
pip install tabulate --user
37 cho đánh dấu latex bằng cách sử dụng khoảng cách và kiểu dáng từ gói
pip install tabulate --user
44.
pip install tabulate --user
45 Tạo một bảng có thể kéo dài dọc theo nhiều trang, sử dụng gói
pip install tabulate --user
46.

Căn chỉnh cột

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
4 là thông minh về căn chỉnh cột. Nó phát hiện các cột chỉ chứa các số và sắp xếp chúng theo một điểm thập phân [hoặc xả chúng sang phải nếu chúng có vẻ là số nguyên]. Các cột văn bản được xả vào bên trái.

Bạn có thể ghi đè căn chỉnh mặc định với các đối số được đặt tên

pip install tabulate --user
48 và
pip install tabulate --user
49. Căn chỉnh cột có thể là:
pip install tabulate --user
50,
pip install tabulate --user
51,
pip install tabulate --user
52,
pip install tabulate --user
53 [chỉ cho các số] và
pip install tabulate --user
54 [để vô hiệu hóa căn chỉnh].

Sắp xếp theo một điểm thập phân hoạt động tốt nhất khi bạn cần so sánh các số trong nháy mắt:

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
30

So sánh điều này với một căn chỉnh bên phải phổ biến hơn:

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
31

Đối với

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
4, bất cứ điều gì có thể được phân tích cú pháp là một số là một số. Thậm chí các số được biểu thị dưới dạng chuỗi được căn chỉnh đúng. Tính năng này có ích khi đọc một bảng văn bản và số hỗn hợp từ một tệp:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
32

Để vô hiệu hóa tính năng này, sử dụng

pip install tabulate --user
56.
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
263

Căn chỉnh cột tùy chỉnh

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
4 cho phép căn chỉnh cột tùy chỉnh ghi đè lên trên. Đối số
pip install tabulate --user
58 có thể là một danh sách hoặc một tuple của
pip install tabulate --user
49 đối số được đặt tên. Căn chỉnh cột có thể là:
pip install tabulate --user
50,
pip install tabulate --user
51,
pip install tabulate --user
52,
pip install tabulate --user
53 [chỉ cho các số] và
pip install tabulate --user
54 [để vô hiệu hóa căn chỉnh]. Bỏ qua một căn chỉnh sử dụng mặc định. Ví dụ:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
34

Định dạng số

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
4 cho phép xác định định dạng số tùy chỉnh được áp dụng cho tất cả các cột của số thập phân. Sử dụng
pip install tabulate --user
66 Đối số được đặt tên:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
35
pip install tabulate --user
66 Đối số có thể là một danh sách hoặc một bộ chuỗi định dạng, một trong mỗi cột, trong trường hợp đó, mọi cột có thể có định dạng số khác nhau:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
36
pip install tabulate --user
68 hoạt động tương tự cho số nguyên
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
37

Định dạng văn bản

Theo mặc định,

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
4 sẽ loại bỏ khoảng trắng dẫn đầu và dấu vết từ các cột văn bản. Để vô hiệu hóa loại bỏ khoảng trắng, hãy đặt cờ cấp mô-đun toàn cầu
pip install tabulate --user
70:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
38

Biểu tượng rộng [FullWidth CJK]

Để căn chỉnh đúng các bảng có chứa các ký tự rộng [thường là các glyphs đầy đủ từ các ngôn ngữ Trung Quốc, Nhật Bản hoặc tiếng Hàn], người dùng nên cài đặt thư viện

pip install tabulate --user
71. Để cài đặt nó cùng với
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
4:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
39

Hỗ trợ ký tự rộng được bật tự động nếu thư viện

pip install tabulate --user
71 đã được cài đặt. Để vô hiệu hóa các ký tự rộng hỗ trợ mà không cần gỡ cài đặt
pip install tabulate --user
71, hãy đặt cờ cấp mô-đun toàn cầu
pip install tabulate --user
75:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
50

Tế bào đa dòng

Hầu hết các định dạng bảng đều hỗ trợ văn bản ô đa dòng [văn bản chứa các ký tự dòng mới]. Các ký tự Newline được vinh danh là ký tự phá vỡ dòng.

Các ô đa dòng được hỗ trợ cho các hàng dữ liệu và cho các hàng tiêu đề.

Các giao dịch dòng tự động hơn nữa không được chèn. Tất nhiên, một số định dạng đầu ra như latex hoặc HTML tự tự động định dạng nội dung ô, nhưng đối với các ký tự không, các ký tự mới trong văn bản ô đầu vào là phương tiện duy nhất để phá vỡ một dòng trong văn bản ô.

Lưu ý rằng một số định dạng đầu ra [ví dụ: đơn giản hoặc đơn giản] không đại diện cho các phân định hàng, để biểu diễn các ô đa dòng trong các định dạng như vậy có thể mơ hồ với người đọc.

Các ví dụ sau đây về đầu ra được định dạng sử dụng bảng sau với ô đa dòng và các tiêu đề có ô đa dòng:

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
51
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
44 Bảng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
52
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
45 Bảng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
53
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
49 Bảng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
54
pip install tabulate --user
06 Bảng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
55
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
48 Bảng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
56
pip install tabulate --user
27 Bảng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
57
pip install tabulate --user
28 Bảng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
58
pip install tabulate --user
21 Bảng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
59
pip install tabulate --user
22 Bảng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
70
pip install tabulate --user
23 Bảng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
71
pip install tabulate --user
29 Bảng:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
72

Các tế bào đa dòng không được hỗ trợ tốt cho các định dạng bảng khác.

Tự động hóa đa dòng

Mặc dù Tabulation hỗ trợ dữ liệu được truyền vào với các mục Multilines được cung cấp rõ ràng, nhưng nó cũng cung cấp một số hỗ trợ để giúp quản lý công việc này trong nội bộ.

Đối số

pip install tabulate --user
87 là một danh sách trong đó mỗi mục nhập chỉ định độ rộng tối đa cho cột tương ứng của nó. Bất kỳ ô nào sẽ vượt quá điều này sẽ tự động kết thúc nội dung. Để gán cùng một chiều rộng tối đa cho tất cả các cột, có thể sử dụng một máy đo int số ít.

Sử dụng

pip install tabulate --user
54 cho bất kỳ cột nào không cần cung cấp tối đa rõ ràng, và do đó sẽ không có gói đa năng tự động nào sẽ diễn ra.

Gói sử dụng chức năng TextWrap.Wrap tiêu chuẩn Python với các tham số mặc định - ngoài chiều rộng.

Ví dụ này cho thấy việc sử dụng gói đa dòng tự động, mặc dù thông thường các dòng được bọc có thể sẽ dài hơn đáng kể so với điều này.

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
73

Thêm các dòng phân tách

Người ta có thể muốn thêm một hoặc nhiều dòng phân tách để làm nổi bật các phần khác nhau trong bảng.

Các dòng phân tách sẽ cùng loại với quy định của định dạng được chỉ định là dòng linebetedrows, lineBelowHeader, lineBelow, lineAbove hoặc chỉ là một dòng trống đơn giản khi không được xác định cho định dạng

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
74

Hỗ trợ ANSI

Mã thoát ANSI là các chuỗi byte không thể in thường được sử dụng cho các hoạt động đầu cuối như thiết lập đầu ra màu hoặc sửa đổi các vị trí con trỏ. Bởi vì các chuỗi ANSI đa byte vốn không thể in được, chúng vẫn có thể giới thiệu độ dài thêm không mong muốn cho các chuỗi. Ví dụ:

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
75

Để đối phó với điều này, độ dài chuỗi được tính toán sau khi lần đầu tiên xóa tất cả các chuỗi thoát ANSI. Điều này đảm bảo rằng chiều dài có thể in thực tế được sử dụng cho chiều rộng cột, thay vì chiều dài byte. Tuy nhiên, trong bảng cuối cùng, có thể in được, các chuỗi thoát ANSI không được loại bỏ để kiểu dáng ban đầu được bảo tồn.

Một số thiết bị đầu cuối hỗ trợ một nhóm đặc biệt của các chuỗi thoát ANSI nhằm hiển thị các siêu liên kết giống như cách chúng được hiển thị trong các trình duyệt. Chúng được xử lý đúng như đã đề cập trước đây: Trình tự thoát ANSI không thể in được gỡ bỏ trước khi tính toán độ dài chuỗi. Sự khác biệt duy nhất với các siêu liên kết thoát ra là chiều rộng cột sẽ dựa trên chiều dài của văn bản URL thay vì chính URL [các thiết bị đầu cuối sẽ hiển thị văn bản này]. Ví dụ:

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
76

Việc sử dụng tiện ích dòng lệnh

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
77

Cân nhắc hiệu suất

Như các tính năng như căn chỉnh điểm thập phân và cố gắng phân tích mọi thứ như một số ngụ ý rằng

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
4:
  • phải "đoán" cách in một kiểu dữ liệu bảng cụ thể
  • cần giữ toàn bộ bảng trong bộ nhớ
  • phải "chuyển đổi" bảng hai lần
  • có nhiều việc hơn nó có thể xuất hiện

Nó có thể không phù hợp để tuần tự hóa các bảng thực sự lớn [nhưng dù sao thì ai sẽ làm điều đó?] Hoặc in các bảng trong các ứng dụng nhạy cảm hiệu suất.

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
4 là khoảng hai bậc chậm hơn so với chỉ đơn giản là tham gia danh sách các giá trị với một tab, dấu phẩy hoặc dấu phân cách khác.

Đồng thời,

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
4 có thể so sánh với các máy tính đẹp khác của bảng. Với bảng 10x10 [danh sách các danh sách] dữ liệu văn bản và dữ liệu số hỗn hợp,
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
4 dường như chậm hơn so với
pip install tabulate --user
93 và nhanh hơn
pip install tabulate --user
94 và
pip install tabulate --user
95 Điểm chuẩn mini sau đây được chạy trong Python 3.9.13 trên Windows 10:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
78

Lịch sử phiên bản

Lịch sử phiên bản đầy đủ có thể được tìm thấy tại Changelog.

Làm thế nào để đóng góp

Đóng góp nên bao gồm các bài kiểm tra và giải thích cho những thay đổi mà họ đề xuất. Tài liệu [ví dụ, DocStrings, ReadMe.MD] nên được cập nhật tương ứng.

Dự án này sử dụng khung thử nghiệm pytest và TOX để tự động hóa thử nghiệm trong các môi trường khác nhau. Thêm các thử nghiệm cho một trong các tệp trong thư mục

pip install tabulate --user
96.

Để chạy các thử nghiệm trên tất cả các phiên bản Python được hỗ trợ, hãy đảm bảo tất cả các phiên dịch viên Python,

pip install tabulate --user
97 và
pip install tabulate --user
98 được cài đặt, sau đó chạy
pip install tabulate --user
98 trong gốc của cây nguồn dự án.

Trên Linux

pip install tabulate --user
98 dự kiến ​​sẽ tìm thấy các tệp thực thi như
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
001,
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
002, v.v. trên Windows, nó tìm kiếm
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
003,
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
004, v.v.

Một cách để cài đặt tất cả các phiên bản cần thiết của trình thông dịch Python là sử dụng pyenv. Tất cả các phiên bản sau đó có thể dễ dàng cài đặt với một cái gì đó như:

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
79

Đừng quên thay đổi

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
005 của bạn để
pip install tabulate --user
98 biết cách tìm tất cả các phiên bản đã cài đặt. Cái gì đó như
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
0

Để chỉ kiểm tra một số môi trường Python, hãy sử dụng tùy chọn

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
007. Ví dụ: chỉ để kiểm tra chống lại Python 3.7 và Python 3.10, chạy:
>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
1

Trong gốc của cây nguồn dự án.

Để kích hoạt các bài kiểm tra Numpy và Pandas, hãy chạy:

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
2

[Điều này có thể mất nhiều thời gian đầu tiên, bởi vì Numpy và Pandas sẽ phải được cài đặt trong các môi trường ảo mới]

Để khắc phục định dạng mã:

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
3

Xem tệp

>>> print[tabulate[{"Name": ["Alice", "Bob"],
...                 "Age": [24, 19]}, headers="keys"]]
  Age  Name
-----  ------
   24  Alice
   19  Bob
008 Để tìm hiểu cách sử dụng để kiểm tra các phiên bản Python riêng lẻ.

Người đóng góp

Sergey Astanin, Pau Tallada Crespí, Erwin Marsi, Mik Kocikowski, Bill Ryder, Zach Dwiel, Frederik Rietdijk, Philipp Bogensberger Santacruz López-Cerpero, Sam Denton, Alexey Ziyangirov, Acaird, Cesar Sanchez, Naught101, John Vandenberg, Zack Dever, Christian Clauss , Dmitry B, Lars Butler, Andreas Maier, Dick Marinus, Sébastien Celles, Yago González, Andrew Gaul, Wim Glenn, Jean Michel Rouly, Tim Gates, John Vandenberg, Sorin Sbarnea, Wes Turner, Andrew Tija Danja100, Endolith, Dominic Davis-Foster, Pavlocat, Daniel Aslau, Paulc, Felix Yan, Shane Loretz, Frank Busse, Harsh Singh, Derek Weitzel, Vladimir Vrzić, 서승우 [Chrd5273] , Alexander Gažo, Hugo Van Kemenade, JA Mescoke, Matt Warner, Jérôme Provensal, Kevin Deldycke, Kian-Meng Ang, Kevin Patterson, Shodhan Save, Cleoold, Kolanich, Vijaya Krishna Kasula, Furcy Pin, Christian Fibich, Shaun Duncan, Dimitri Papadopoulos.

Làm thế nào để bạn thêm một bảng trong Python?

Làm thế nào để dễ dàng tạo bảng trong Python...

Cài đặt bảng. Trước tiên chúng tôi cài đặt thư viện Tabulation bằng cách cài đặt PIP trong dòng lệnh: PIP Cài đặt Tabulation ..

Nhập chức năng bảng. ....

Danh sách danh sách. ....

Từ điển của Iterables. ....

giá trị bị mất..

Làm thế nào để bạn nhập bảng?

1. Nhập bảng.Bước đầu tiên là nhập chức năng Tabulation từ thư viện Tabulation.Trong trường hợp điều này dẫn đến một lỗi, hãy đảm bảo bạn đã cài đặt thư viện Tabulation bằng cách thực thi lệnh Cài đặt PIP trên dấu nhắc lệnh.

Tại sao tôi không thể nhập bảng trong Python?

Python "ModulenotFounderRor: Không có mô -đun có tên 'Tabulation'" xảy ra khi chúng ta quên cài đặt mô -đun Tabulation trước khi nhập hoặc cài đặt nó trong môi trường không chính xác.Để giải quyết lỗi, cài đặt mô -đun bằng cách chạy lệnh PIP Install Tabulation.occurs when we forget to install the tabulate module before importing it or install it in an incorrect environment. To solve the error, install the module by running the pip install tabulate command.occurs when we forget to install the tabulate module before importing it or install it in an incorrect environment. To solve the error, install the module by running the pip install tabulate command.

Làm thế nào để bạn cài đặt bảng trong Conda?

Installation...

Mở dấu nhắc Anaconda ..

Chạy Conda Tạo -N GMSJUPYTER PYTHON = 3,8.....

Kích hoạt môi trường mới với Conda Kích hoạt GMSJUPYTER ..

Cài đặt Jupyterlab với Conda Cài đặt Jupyterlab ..

Cài đặt Pandas: Cài đặt Panda Conda ..

Cài đặt Tabulation: Conda Cài đặt Tabulation ..

Bài Viết Liên Quan

Chủ Đề