Hướng dẫn python tabulate no scientific notation - python lập bảng không có ký hiệu khoa học

Vấn đề mới

Có một câu hỏi về dự án này? Đăng ký một tài khoản GitHub miễn phí để mở một vấn đề và liên hệ với người bảo trì và cộng đồng của nó. Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Bằng cách nhấp vào Đăng ký đăng ký cho GitHub, bạn đồng ý với Điều khoản dịch vụ và tuyên bố quyền riêng tư của chúng tôi. Chúng tôi thỉnh thoảng gửi cho bạn các email liên quan đến tài khoản.

Đã có trên Github? đăng nhập vào tài khoản của bạn

Nhãn

câu hỏi

Thông tin thêm được yêu cầu

9

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Có cách nào để xác định kiểu định dạng (số thập phân) cho mô -đun Python

set TABULATE_INSTALL=lib-only
pip install tabulate
8 không?

Ví dụ:

Tôi có số 3.34643745.

Tôi muốn định dạng số thập phân để in ra chỉ hai vị trí thập phân.

Đầu ra:

set TABULATE_INSTALL=lib-only
pip install tabulate
9

Hướng dẫn python tabulate no scientific notation - python lập bảng không có ký hiệu khoa học

Khi được hỏi ngày 6 tháng 5 năm 2016 lúc 19:21May 6, 2016 at 19:21

Hướng dẫn python tabulate no scientific notation - python lập bảng không có ký hiệu khoa học

3

Có bạn có thể làm một cái gì đó như:

print tabulate([["pi",3.141593],["e",2.718282]], floatfmt=".2f")

Mà sẽ in:

--  ----
pi  3.14
e   2.71
--  ----

Dưới đây là một liên kết đến các tài liệu.

Đã trả lời ngày 6 tháng 5 năm 2016 lúc 19:29May 6, 2016 at 19:29

Sebenalernsebenalernsebenalern

2.4453 huy hiệu vàng23 Huy hiệu bạc34 Huy hiệu đồng3 gold badges23 silver badges34 bronze badges

Người dùng cũ đã tạo ra một vấn đề 2016-12-06 created an issue 2016-12-06

Trong ví dụ dưới đây, các số đầu vào có 4 số thập phân (.4115).

Kỳ vọng là các con số sẽ được giữ với tất cả các vị trí thập phân còn nguyên vẹn.

Tuy nhiên, một số con số bị cắt đứt, những người khác làm tròn, những người khác bị bỏ lại một mình.

Input:

PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)

Output:

>>> print(strTable)
  Not the expected value
------------------------
                  0
                -70.4115
               -165.411
               -355.411
               -735.412
                -70.4115
                  0

python-tabulate

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

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

set TABULATE_INSTALL=lib-only
pip install tabulate
8 đến
>>> from tabulate import tabulate

>>> table = [["Sun",696000,1989100000],["Earth",6371,5973.6],
...          ["Moon",1737,73.5],["Mars",3390,641.85]]
>>> print(tabulate(table))
-----  ------  -------------
Sun    696000     1.9891e+09
Earth    6371  5973.6
Moon     1737    73.5
Mars     3390   641.85
-----  ------  -------------
1 trên Linux (ví dụ:
>>> from tabulate import tabulate

>>> table = [["Sun",696000,1989100000],["Earth",6371,5973.6],
...          ["Moon",1737,73.5],["Mars",3390,641.85]]
>>> print(tabulate(table))
-----  ------  -------------
Sun    696000     1.9891e+09
Earth    6371  5973.6
Moon     1737    73.5
Mars     3390   641.85
-----  ------  -------------
2); hoặc như
>>> from tabulate import tabulate

>>> table = [["Sun",696000,1989100000],["Earth",6371,5973.6],
...          ["Moon",1737,73.5],["Mars",3390,641.85]]
>>> print(tabulate(table))
-----  ------  -------------
Sun    696000     1.9891e+09
Earth    6371  5973.6
Moon     1737    73.5
Mars     3390   641.85
-----  ------  -------------
3 đến
>>> from tabulate import tabulate

>>> table = [["Sun",696000,1989100000],["Earth",6371,5973.6],
...          ["Moon",1737,73.5],["Mars",3390,641.85]]
>>> print(tabulate(table))
-----  ------  -------------
Sun    696000     1.9891e+09
Earth    6371  5973.6
Moon     1737    73.5
Mars     3390   641.85
-----  ------  -------------
4 trong cài đặt Python của bạn trên Windows (ví dụ:
>>> from tabulate import tabulate

>>> table = [["Sun",696000,1989100000],["Earth",6371,5973.6],
...          ["Moon",1737,73.5],["Mars",3390,641.85]]
>>> print(tabulate(table))
-----  ------  -------------
Sun    696000     1.9891e+09
Earth    6371  5973.6
Moon     1737    73.5
Mars     3390   641.85
-----  ------  -------------
5).

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 thành

>>> from tabulate import tabulate

>>> table = [["Sun",696000,1989100000],["Earth",6371,5973.6],
...          ["Moon",1737,73.5],["Mars",3390,641.85]]
>>> print(tabulate(table))
-----  ------  -------------
Sun    696000     1.9891e+09
Earth    6371  5973.6
Moon     1737    73.5
Mars     3390   641.85
-----  ------  -------------
6 trên Linux và
>>> from tabulate import tabulate

>>> table = [["Sun",696000,1989100000],["Earth",6371,5973.6],
...          ["Moon",1737,73.5],["Mars",3390,641.85]]
>>> print(tabulate(table))
-----  ------  -------------
Sun    696000     1.9891e+09
Earth    6371  5973.6
Moon     1737    73.5
Mars     3390   641.85
-----  ------  -------------
7 trên Windows.

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

TABULATE_INSTALL=lib-only pip install tabulate

Trên Windows:

set TABULATE_INSTALL=lib-only
pip install tabulate

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

Sử dụng thư viện

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

set TABULATE_INSTALL=lib-only
pip install tabulate
8, 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:

>>> from tabulate import tabulate

>>> table = [["Sun",696000,1989100000],["Earth",6371,5973.6],
...          ["Moon",1737,73.5],["Mars",3390,641.85]]
>>> print(tabulate(table))
-----  ------  -------------
Sun    696000     1.9891e+09
Earth    6371  5973.6
Moon     1737    73.5
Mars     3390   641.85
-----  ------  -------------

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

>>> from tabulate import tabulate

>>> table = [["Sun",696000,1989100000],["Earth",6371,5973.6],
...          ["Moon",1737,73.5],["Mars",3390,641.85]]
>>> print(tabulate(table))
-----  ------  -------------
Sun    696000     1.9891e+09
Earth    6371  5973.6
Moon     1737    73.5
Mars     3390   641.85
-----  ------  -------------
9 xác định danh sách các tiêu đề cột sẽ được sử dụng:

>>> print(tabulate(table, headers=["Planet","R (km)", "mass (x 10^29 kg)"]))
Planet      R (km)    mass (x 10^29 kg)
--------  --------  -------------------
Sun         696000           1.9891e+09
Earth         6371        5973.6
Moon          1737          73.5
Mars          3390         641.85

Nếu

>>> print(tabulate(table, headers=["Planet","R (km)", "mass (x 10^29 kg)"]))
Planet      R (km)    mass (x 10^29 kg)
--------  --------  -------------------
Sun         696000           1.9891e+09
Earth         6371        5973.6
Moon          1737          73.5
Mars          3390         641.85
0, thì hàng dữ liệu đầu tiên được sử dụng:

--  ----
pi  3.14
e   2.71
--  ----
0

Nếu

>>> print(tabulate(table, headers=["Planet","R (km)", "mass (x 10^29 kg)"]))
Planet      R (km)    mass (x 10^29 kg)
--------  --------  -------------------
Sun         696000           1.9891e+09
Earth         6371        5973.6
Moon          1737          73.5
Mars          3390         641.85
1, 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:

--  ----
pi  3.14
e   2.71
--  ----
1

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(table, headers=["Planet","R (km)", "mass (x 10^29 kg)"]))
Planet      R (km)    mass (x 10^29 kg)
--------  --------  -------------------
Sun         696000           1.9891e+09
Earth         6371        5973.6
Moon          1737          73.5
Mars          3390         641.85
2 hoặc
>>> print(tabulate(table, headers=["Planet","R (km)", "mass (x 10^29 kg)"]))
Planet      R (km)    mass (x 10^29 kg)
--------  --------  -------------------
Sun         696000           1.9891e+09
Earth         6371        5973.6
Moon          1737          73.5
Mars          3390         641.85
3 cho
>>> print(tabulate(table, headers=["Planet","R (km)", "mass (x 10^29 kg)"]))
Planet      R (km)    mass (x 10^29 kg)
--------  --------  -------------------
Sun         696000           1.9891e+09
Earth         6371        5973.6
Moon          1737          73.5
Mars          3390         641.85
4. Để 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(table, headers=["Planet","R (km)", "mass (x 10^29 kg)"]))
Planet      R (km)    mass (x 10^29 kg)
--------  --------  -------------------
Sun         696000           1.9891e+09
Earth         6371        5973.6
Moon          1737          73.5
Mars          3390         641.85
5 hoặc
>>> print(tabulate(table, headers=["Planet","R (km)", "mass (x 10^29 kg)"]))
Planet      R (km)    mass (x 10^29 kg)
--------  --------  -------------------
Sun         696000           1.9891e+09
Earth         6371        5973.6
Moon          1737          73.5
Mars          3390         641.85
6. Để thêm cột chỉ mục hàng tùy chỉnh, Pass
>>> print(tabulate(table, headers=["Planet","R (km)", "mass (x 10^29 kg)"]))
Planet      R (km)    mass (x 10^29 kg)
--------  --------  -------------------
Sun         696000           1.9891e+09
Earth         6371        5973.6
Moon          1737          73.5
Mars          3390         641.85
7, trong đó
>>> print(tabulate(table, headers=["Planet","R (km)", "mass (x 10^29 kg)"]))
Planet      R (km)    mass (x 10^29 kg)
--------  --------  -------------------
Sun         696000           1.9891e+09
Earth         6371        5973.6
Moon          1737          73.5
Mars          3390         641.85
8 là một số điều đáng kể:

--  ----
pi  3.14
e   2.71
--  ----
2

Đị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(table, headers=["Planet","R (km)", "mass (x 10^29 kg)"]))
Planet      R (km)    mass (x 10^29 kg)
--------  --------  -------------------
Sun         696000           1.9891e+09
Earth         6371        5973.6
Moon          1737          73.5
Mars          3390         641.85
9 xác định 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"

--  ----
pi  3.14
e   2.71
--  ----
00 Bảng không sử dụng bất kỳ trò chơi giả nào để vẽ các dòng:

--  ----
pi  3.14
e   2.71
--  ----
3

--  ----
pi  3.14
e   2.71
--  ----
01 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
--  ----
pi  3.14
e   2.71
--  ----
02 trong phần mở rộng Pandoc Markdown:

--  ----
pi  3.14
e   2.71
--  ----
4

--  ----
pi  3.14
e   2.71
--  ----
03 tuân theo các quy ước của dấu ấn có hương vị GitHub. Nó tương ứng với định dạng
--  ----
pi  3.14
e   2.71
--  ----
04 mà không cần căn liên kết các dấu hiệu:

--  ----
pi  3.14
e   2.71
--  ----
5

--  ----
pi  3.14
e   2.71
--  ----
05 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
--  ----
pi  3.14
e   2.71
--  ----
06 trong phần mở rộng Pandoc Markdown:

--  ----
pi  3.14
e   2.71
--  ----
6

--  ----
pi  3.14
e   2.71
--  ----
07 vẽ một lưới bằng cách sử dụng các ký tự vẽ hộp đơn:

--  ----
pi  3.14
e   2.71
--  ----
7

--  ----
pi  3.14
e   2.71
--  ----
08 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:

--  ----
pi  3.14
e   2.71
--  ----
8

--  ----
pi  3.14
e   2.71
--  ----
09 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):

--  ----
pi  3.14
e   2.71
--  ----
9

--  ----
pi  3.14
e   2.71
--  ----
10 vẽ một lưới bằng cách sử dụng hỗn hợp các ký tự hộp hình hộp ánh sáng (mỏng) và nặng (dày):

PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
0

--  ----
pi  3.14
e   2.71
--  ----
11 vẽ một lưới bằng cách sử dụng các ký tự vẽ hộp hai dòng:

PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
1

--  ----
pi  3.14
e   2.71
--  ----
12 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:

PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
2

--  ----
pi  3.14
e   2.71
--  ----
13 giống như định dạng
--  ----
pi  3.14
e   2.71
--  ----
05 nhưng không vẽ các đường giữa các hàng:

PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
3

--  ----
pi  3.14
e   2.71
--  ----
15 giống như định dạng
--  ----
pi  3.14
e   2.71
--  ----
07 nhưng không vẽ các đường giữa các hàng:

PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
4

--  ----
pi  3.14
e   2.71
--  ----
17 giống như định dạng
--  ----
pi  3.14
e   2.71
--  ----
08 nhưng không vẽ các đường giữa các hàng:

PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
5

--  ----
pi  3.14
e   2.71
--  ----
19 giống như định dạng
--  ----
pi  3.14
e   2.71
--  ----
09 nhưng không vẽ các đường giữa các hàng:

PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
6

--  ----
pi  3.14
e   2.71
--  ----
21 giống như định dạng
--  ----
pi  3.14
e   2.71
--  ----
10 nhưng không vẽ các đường giữa các hàng:

PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
7

--  ----
pi  3.14
e   2.71
--  ----
23 giống như định dạng
--  ----
pi  3.14
e   2.71
--  ----
11 nhưng không vẽ các đường giữa các hàng:

PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
8

--  ----
pi  3.14
e   2.71
--  ----
25 giống như định dạng
--  ----
pi  3.14
e   2.71
--  ----
12 nhưng không vẽ các đường giữa các hàng:

PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
9

--  ----
pi  3.14
e   2.71
--  ----
27 giống như các bảng được định dạng bởi Presto CLI:

>>> print(strTable)
  Not the expected value
------------------------
                  0
                -70.4115
               -165.411
               -355.411
               -735.412
                -70.4115
                  0
0

--  ----
pi  3.14
e   2.71
--  ----
28 Cố gắng gần với định dạng phát ra từ thư viện PrettyTables:

>>> print(strTable)
  Not the expected value
------------------------
                  0
                -70.4115
               -165.411
               -355.411
               -735.412
                -70.4115
                  0
1

--  ----
pi  3.14
e   2.71
--  ----
29 giống như các bảng được định dạng bởi PSQL CLI của Postgres:

>>> print(strTable)
  Not the expected value
------------------------
                  0
                -70.4115
               -165.411
               -355.411
               -735.412
                -70.4115
                  0
2

--  ----
pi  3.14
e   2.71
--  ----
04 tuân theo các quy ước của phần mở rộng bổ sung PHP. Nó tương ứng với
--  ----
pi  3.14
e   2.71
--  ----
31 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(strTable)
  Not the expected value
------------------------
                  0
                -70.4115
               -165.411
               -355.411
               -735.412
                -70.4115
                  0
3

--  ----
pi  3.14
e   2.71
--  ----
32 Định dạng dữ liệu giống như một bảng đơn giản của định dạng asciidoctor:

>>> print(strTable)
  Not the expected value
------------------------
                  0
                -70.4115
               -165.411
               -355.411
               -735.412
                -70.4115
                  0
4

--  ----
pi  3.14
e   2.71
--  ----
33 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(strTable)
  Not the expected value
------------------------
                  0
                -70.4115
               -165.411
               -355.411
               -735.412
                -70.4115
                  0
5

--  ----
pi  3.14
e   2.71
--  ----
34 tuân theo các quy ước của ngôn ngữ đánh dấu Atlassian Jira:

>>> print(strTable)
  Not the expected value
------------------------
                  0
                -70.4115
               -165.411
               -355.411
               -735.412
                -70.4115
                  0
6

--  ----
pi  3.14
e   2.71
--  ----
35 Định dạng dữ liệu giống như một bảng đơn giản của định dạng ReserfuredText:

>>> print(strTable)
  Not the expected value
------------------------
                  0
                -70.4115
               -165.411
               -355.411
               -735.412
                -70.4115
                  0
7

Định dạng

--  ----
pi  3.14
e   2.71
--  ----
36 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(strTable)
  Not the expected value
------------------------
                  0
                -70.4115
               -165.411
               -355.411
               -735.412
                -70.4115
                  0
8

Định dạng

--  ----
pi  3.14
e   2.71
--  ----
37 tạo ra một đánh dấu bảng được sử dụng trong wikis moinmoin:

>>> print(strTable)
  Not the expected value
------------------------
                  0
                -70.4115
               -165.411
               -355.411
               -735.412
                -70.4115
                  0
9

Định dạng

--  ----
pi  3.14
e   2.71
--  ----
38 tạo ra một đánh dấu bảng được sử dụng trong vé YouTrack:

pip install tabulate
0

Định dạng

--  ----
pi  3.14
e   2.71
--  ----
39 tạo ra một đánh dấu bảng được sử dụng ở định dạng dệt:

pip install tabulate
1

--  ----
pi  3.14
e   2.71
--  ----
40 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.
--  ----
pi  3.14
e   2.71
--  ----
41 Định dạng bảng có thể được sử dụng nếu cần HTML chưa được xử lý:

pip install tabulate
2

Định dạng

--  ----
pi  3.14
e   2.71
--  ----
42 Tạo môi trường
--  ----
pi  3.14
e   2.71
--  ----
43 cho đánh dấu latex, thay thế các ký tự đặc biệt như
--  ----
pi  3.14
e   2.71
--  ----
44 hoặc
--  ----
pi  3.14
e   2.71
--  ----
45 cho các phóng viên latex của họ:

pip install tabulate
3

--  ----
pi  3.14
e   2.71
--  ----
46 hoạt động như
--  ----
pi  3.14
e   2.71
--  ----
42 nhưng không thoát khỏi các lệnh latex và ký tự đặc biệt.

--  ----
pi  3.14
e   2.71
--  ----
48 Tạo môi trường
--  ----
pi  3.14
e   2.71
--  ----
43 cho đánh dấu latex bằng cách sử dụng khoảng cách và kiểu dáng từ gói
--  ----
pi  3.14
e   2.71
--  ----
50.

--  ----
pi  3.14
e   2.71
--  ----
51 Tạo một bảng có thể kéo dài dọc theo nhiều trang, sử dụng gói
--  ----
pi  3.14
e   2.71
--  ----
52.

Căn chỉnh cột

set TABULATE_INSTALL=lib-only
pip install tabulate
8 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

--  ----
pi  3.14
e   2.71
--  ----
54 và
--  ----
pi  3.14
e   2.71
--  ----
55. Căn chỉnh cột có thể là:
--  ----
pi  3.14
e   2.71
--  ----
56,
--  ----
pi  3.14
e   2.71
--  ----
57,
--  ----
pi  3.14
e   2.71
--  ----
58,
--  ----
pi  3.14
e   2.71
--  ----
59 (chỉ cho các số) và
--  ----
pi  3.14
e   2.71
--  ----
60 (để 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:

pip install tabulate
4

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

pip install tabulate
5

Đối với

set TABULATE_INSTALL=lib-only
pip install tabulate
8, 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:

pip install tabulate
6

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

--  ----
pi  3.14
e   2.71
--  ----
62.

pip install tabulate
7

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

set TABULATE_INSTALL=lib-only
pip install tabulate
8 cho phép căn chỉnh cột tùy chỉnh ghi đè lên trên. Đối số
--  ----
pi  3.14
e   2.71
--  ----
64 có thể là một danh sách hoặc một tuple của
--  ----
pi  3.14
e   2.71
--  ----
55 đối số được đặt tên. Căn chỉnh cột có thể là:
--  ----
pi  3.14
e   2.71
--  ----
56,
--  ----
pi  3.14
e   2.71
--  ----
57,
--  ----
pi  3.14
e   2.71
--  ----
58,
--  ----
pi  3.14
e   2.71
--  ----
59 (chỉ cho các số) và
--  ----
pi  3.14
e   2.71
--  ----
60 (để 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ụ:

pip install tabulate
8

Định dạng số

set TABULATE_INSTALL=lib-only
pip install tabulate
8 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 đối số được đặt tên
--  ----
pi  3.14
e   2.71
--  ----
72:

pip install tabulate
9

Đối số

--  ----
pi  3.14
e   2.71
--  ----
72 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:

pip install tabulate --user
0

--  ----
pi  3.14
e   2.71
--  ----
74 hoạt động tương tự cho số nguyên

pip install tabulate --user
1

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

Theo mặc định,

set TABULATE_INSTALL=lib-only
pip install tabulate
8 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
--  ----
pi  3.14
e   2.71
--  ----
76:

pip install tabulate --user
2

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

--  ----
pi  3.14
e   2.71
--  ----
77. Để cài đặt nó cùng với
set TABULATE_INSTALL=lib-only
pip install tabulate
8:

pip install tabulate --user
3

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

--  ----
pi  3.14
e   2.71
--  ----
77 đã đượ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
--  ----
pi  3.14
e   2.71
--  ----
77, hãy đặt cờ cấp mô-đun toàn cầu
--  ----
pi  3.14
e   2.71
--  ----
81:

pip install tabulate --user
4

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:

pip install tabulate --user
5

--  ----
pi  3.14
e   2.71
--  ----
00 Bảng:

pip install tabulate --user
6

--  ----
pi  3.14
e   2.71
--  ----
01 Bảng:

pip install tabulate --user
7

--  ----
pi  3.14
e   2.71
--  ----
05 Bảng:

pip install tabulate --user
8

--  ----
pi  3.14
e   2.71
--  ----
12 Bảng:

pip install tabulate --user
9

--  ----
pi  3.14
e   2.71
--  ----
04 Bảng:

TABULATE_INSTALL=lib-only pip install tabulate
0

--  ----
pi  3.14
e   2.71
--  ----
33 Bảng:

TABULATE_INSTALL=lib-only pip install tabulate
1

--  ----
pi  3.14
e   2.71
--  ----
34 Bảng:

TABULATE_INSTALL=lib-only pip install tabulate
2

--  ----
pi  3.14
e   2.71
--  ----
27 Bảng:

TABULATE_INSTALL=lib-only pip install tabulate
3

--  ----
pi  3.14
e   2.71
--  ----
28 Bảng:

TABULATE_INSTALL=lib-only pip install tabulate
4

--  ----
pi  3.14
e   2.71
--  ----
29 Bảng:

TABULATE_INSTALL=lib-only pip install tabulate
5

--  ----
pi  3.14
e   2.71
--  ----
35 Bảng:

TABULATE_INSTALL=lib-only pip install tabulate
6

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ố

--  ----
pi  3.14
e   2.71
--  ----
93 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

--  ----
pi  3.14
e   2.71
--  ----
60 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.

TABULATE_INSTALL=lib-only pip install tabulate
7

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

TABULATE_INSTALL=lib-only pip install tabulate
8

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ụ:

TABULATE_INSTALL=lib-only pip install tabulate
9

Để đố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ụ:

set TABULATE_INSTALL=lib-only
pip install tabulate
0

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

set TABULATE_INSTALL=lib-only
pip install tabulate
1

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

set TABULATE_INSTALL=lib-only
pip install tabulate
8:

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

set TABULATE_INSTALL=lib-only
pip install tabulate
8 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,

set TABULATE_INSTALL=lib-only
pip install tabulate
8 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,
set TABULATE_INSTALL=lib-only
pip install tabulate
8 dường như chậm hơn
--  ----
pi  3.14
e   2.71
--  ----
99 và nhanh hơn
PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
00 và
PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
01, điểm chuẩn nhỏ sau đây được chạy trong Python 3.9.13 trên Windows 10:

set TABULATE_INSTALL=lib-only
pip install tabulate
2

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

PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
02.

Để 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,

PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
03 và
PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
04 được cài đặt, sau đó chạy
PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
04 trong gốc của cây nguồn dự án.

Trên Linux

PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
04 dự kiến ​​sẽ tìm thấy các tệp thực thi như
PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
07,
PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
08, v.v ... trên Windows, nó tìm kiếm
PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
09,
PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
10, 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ư:

set TABULATE_INSTALL=lib-only
pip install tabulate
3

Đừng quên thay đổi

PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
11 của bạn để
PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
04 biết cách tìm tất cả các phiên bản đã cài đặt. Cái gì đó như

set TABULATE_INSTALL=lib-only
pip install tabulate
4

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

PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
13. Ví dụ: chỉ để kiểm tra chống lại Python 3.7 và Python 3.10, chạy:

set TABULATE_INSTALL=lib-only
pip install tabulate
5

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:

set TABULATE_INSTALL=lib-only
pip install tabulate
6

(Đ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ã:

set TABULATE_INSTALL=lib-only
pip install tabulate
7

Xem tệp

PPheaders = ['Not the expected value']
PPdata = [[0],[-70.4115],[-165.4115], [-355.4115],[-735.4115],[-70.4115],[0]]
strTable = tabulate.tabulate(PPdata, headers=PPheaders)
print(strTable)
14 Để 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 làm cho Python không hiển thị ký hiệu khoa học?

Sử dụng một chuỗi theo nghĩa đen để triệt tiêu ký hiệu khoa học Sử dụng cú pháp theo nghĩa đen f "{num: nf}" để biểu diễn num ở định dạng thập phân với n vị trí theo điểm thập phân. Use the string literal syntax f"{num:. nf}" to represent num in decimal format with n places following the decimal point.

Làm thế nào để bạn in một chiếc phao mà không có ký hiệu khoa học trong Python?

Sử dụng một chuỗi được định dạng theo nghĩa đen để in một chiếc phao mà không có ký hiệu khoa học, ví dụ:in (f '{num: 8f}').Bạn có thể sử dụng một biểu thức trong chuỗi F để in phao mà không có ký hiệu khoa học, với số lượng số thập phân được chỉ định., e.g. print(f'{num:. 8f}') . You can use an expression in the f-string to print the float without scientific notation, with the specified number of decimal places.

Làm thế nào để bạn buộc ký hiệu khoa học trong Python?

Sử dụng str.format () trên một số có "" {: e} "như str để định dạng số trong ký hiệu khoa học. Chỉ bao gồm một số chữ số nhất định sau điểm thập phân, sử dụng" {:.Ne} ", trong đó n là số chữ số mong muốn. format() on a number with ""{:e}" as str to format the number in scientific notation. To only include a certain number of digits after the decimal point, use "{:. Ne}" , where N is the desired number of digits.

Làm thế nào để bạn loại bỏ ký hiệu khoa học khỏi một cuốn sổ Jupyter?

Làm thế nào để ngăn chặn ký hiệu khoa học trong gấu trúc..
Giải pháp 1: Sử dụng .Round ().
Giải pháp 2: Sử dụng Áp dụng để thay đổi định dạng ..
Giải pháp 3: Sử dụng .set_option ().
Giải pháp 4: Gán Display.Float_Format ..