Jadual Kandungan
PrettyTable说明
Rumah pembangunan bahagian belakang Tutorial Python python实用库学习PrettyTable的详细说明

python实用库学习PrettyTable的详细说明

Mar 20, 2017 am 09:30 AM

python实用库:PrettyTable 学习

PrettyTable说明

PrettyTable 是python中的一个第三方库,可用来生成美观的ASCII格式的表格,十分实用。
以下为官方介绍:

A simple Python library for easily displaying tabular data in a visually appealing ASCII table format.
PrettyTable is a simple Python library designed to make it quick and easy to represent tabular data in visually appealing ASCII tables. It was inspired by the ASCII tables used in the PostgreSQL shell psql. PrettyTable allows for selection of which columns are to be printed, independent alignment of columns (left or right justified or centred) and printing of “sub-tables” by specifying a row range.

PrettyTable安装

使用pip即可十分方便的安装PrettyTable,如下:

pip install PrettyTable
Salin selepas log masuk

PrettyTable使用示例

github上有PrettyTable的使用说明,链接如下:https://github.com/dprince/python-prettytable

以下是具体的使用示例:

import prettytable as pt## 按行添加数据tb = pt.PrettyTable()
tb.field_names = ["City name", "Area", "Population", "Annual Rainfall"]
tb.add_row(["Adelaide",1295, 1158259, 600.5])
tb.add_row(["Brisbane",5905, 1857594, 1146.4])
tb.add_row(["Darwin", 112, 120900, 1714.7])
tb.add_row(["Hobart", 1357, 205556,619.5])print(tb)
Salin selepas log masuk
+-----------+------+------------+-----------------+
| City name | Area | Population | Annual Rainfall |
+-----------+------+------------+-----------------+
|  Adelaide | 1295 |  1158259   |      600.5      |
|  Brisbane | 5905 |  1857594   |      1146.4     |
|   Darwin  | 112  |   120900   |      1714.7     |
|   Hobart  | 1357 |   205556   |      619.5      |
+-----------+------+------------+-----------------+
Salin selepas log masuk
## 按列添加数据tb.add_column('index',[1,2,3,4])print(tb)
Salin selepas log masuk
+-----------+------+------------+-----------------+-------+
| City name | Area | Population | Annual Rainfall | index |
+-----------+------+------------+-----------------+-------+
|  Adelaide | 1295 |  1158259   |      600.5      |   1   |
|  Brisbane | 5905 |  1857594   |      1146.4     |   2   |
|   Darwin  | 112  |   120900   |      1714.7     |   3   |
|   Hobart  | 1357 |   205556   |      619.5      |   4   |
+-----------+------+------------+-----------------+-------+
Salin selepas log masuk
## 使用不同的输出风格tb.set_style(pt.MSWORD_FRIENDLY)print('--- style:MSWORD_FRIENDLY -----')print(tb)
tb.set_style(pt.PLAIN_COLUMNS)print('--- style:PLAIN_COLUMNS -----')print(tb)## 随机风格,每次不同tb.set_style(pt.RANDOM)print('--- style:MSWORD_FRIENDLY -----')print(tb)
tb.set_style(pt.DEFAULT)print('--- style:DEFAULT -----')print(tb)
Salin selepas log masuk
--- style:MSWORD_FRIENDLY -----
| City name | Area | Population | Annual Rainfall |
|  Adelaide | 1295 |  1158259   |      600.5      |
|  Brisbane | 5905 |  1857594   |      1146.4     |
|   Darwin  | 112  |   120900   |      1714.7     |
|   Hobart  | 1357 |   205556   |      619.5      |
--- style:PLAIN_COLUMNS -----
City name        Area        Population        Annual Rainfall        
 Adelaide        1295         1158259               600.5             
 Brisbane        5905         1857594               1146.4            
  Darwin         112           120900               1714.7            
  Hobart         1357          205556               619.5             
--- style:MSWORD_FRIENDLY -----
@    Adelaide     1295     1158259     600.5 @
@    Brisbane     5905     1857594     1146.4@
@     Darwin      112       120900     1714.7@
@     Hobart      1357      205556     619.5 @
--- style:DEFAULT -----
+-----------+------+------------+-----------------+
| City name | Area | Population | Annual Rainfall |
+-----------+------+------------+-----------------+
|  Adelaide | 1295 |  1158259   |      600.5      |
|  Brisbane | 5905 |  1857594   |      1146.4     |
|   Darwin  | 112  |   120900   |      1714.7     |
|   Hobart  | 1357 |   205556   |      619.5      |
+-----------+------+------------+-----------------+
Salin selepas log masuk
## 不打印,获取表格字符串s = tb.get_string()print(s)## 可以只获取指定列或行s = tb.get_string(fields=["City name", "Population"],start=1,end=4)print(s)
Salin selepas log masuk
+-----------+------+------------+-----------------+
| City name | Area | Population | Annual Rainfall |
+-----------+------+------------+-----------------+
|  Adelaide | 1295 |  1158259   |      600.5      |
|  Brisbane | 5905 |  1857594   |      1146.4     |
|   Darwin  | 112  |   120900   |      1714.7     |
|   Hobart  | 1357 |   205556   |      619.5      |
+-----------+------+------------+-----------------+
+-----------+------------+
| City name | Population |
+-----------+------------+
|  Brisbane |  1857594   |
|   Darwin  |   120900   |
|   Hobart  |   205556   |
+-----------+------------+
Salin selepas log masuk
## 自定义表格输出样式### 设定左对齐tb.align = 'l'### 设定数字输出格式tb.float_format = "2.2"### 设定边框连接符为'*"tb.junction_char = "*"### 设定排序方式tb.sortby = "City name"### 设定左侧不填充空白字符tb.left_padding_width = 0print(tb)
Salin selepas log masuk
*----------*-----*-----------*----------------*
|City name |Area |Population |Annual Rainfall |
*----------*-----*-----------*----------------*
|Adelaide  |1295 |1158259    |600.50          |
|Brisbane  |5905 |1857594    |1146.40         |
|Darwin    |112  |120900     |1714.70         |
|Hobart    |1357 |205556     |619.50          |
*----------*-----*-----------*----------------*
Salin selepas log masuk
## 不显示边框tb.border = 0print(tb)## 修改边框分隔符tb.set_style(pt.DEFAULT)
tb.horizontal_char = '+'print(tb)
Salin selepas log masuk
City name Area Population Annual Rainfall 
Adelaide  1295 1158259    600.50          
Brisbane  5905 1857594    1146.40         
Darwin    112  120900     1714.70         
Hobart    1357 205556     619.50          
+++++++++++++++++++++++++++++++++++++++++++++++++++
| City name | Area | Population | Annual Rainfall |
+++++++++++++++++++++++++++++++++++++++++++++++++++
| Adelaide  | 1295 | 1158259    | 600.50          |
| Brisbane  | 5905 | 1857594    | 1146.40         |
| Darwin    | 112  | 120900     | 1714.70         |
| Hobart    | 1357 | 205556     | 619.50          |
+++++++++++++++++++++++++++++++++++++++++++++++++++
Salin selepas log masuk
## prettytable也支持输出HTML代码s = tb.get_html_string()print(s)
Salin selepas log masuk
<table>
    <tr>
        <th>City name</th>
        <th>Area</th>
        <th>Population</th>
        <th>Annual Rainfall</th>
    </tr>
    <tr>
        <td>Adelaide</td>
        <td>1295</td>
        <td>1158259</td>
        <td>600.50</td>
    </tr>
    <tr>
        <td>Brisbane</td>
        <td>5905</td>
        <td>1857594</td>
        <td>1146.40</td>
    </tr>
    <tr>
        <td>Darwin</td>
        <td>112</td>
        <td>120900</td>
        <td>1714.70</td>
    </tr>
    <tr>
        <td>Hobart</td>
        <td>1357</td>
        <td>205556</td>
        <td>619.50</td>
    </tr>
</table>
Salin selepas log masuk
## 使用copy方法复制对象#tb.set_style(pt.DEFAULT)tb.horizontal_char = '.'tb2 = tb.copy()
tb.align  = 'l'tb2.align = 'r'print(tb)print(tb2)## 直接赋值,得到的是索引tb.horizontal_char = '-'tb.aliign = 'l'tb3 = tb
tb3.align = 'r'print(tb)print(tb3)
Salin selepas log masuk
+...........+......+............+.................+
| City name | Area | Population | Annual Rainfall |
+...........+......+............+.................+
| Adelaide  | 1295 | 1158259    | 600.50          |
| Brisbane  | 5905 | 1857594    | 1146.40         |
| Darwin    | 112  | 120900     | 1714.70         |
| Hobart    | 1357 | 205556     | 619.50          |
+...........+......+............+.................+
+...........+......+............+.................+
| City name | Area | Population | Annual Rainfall |
+...........+......+............+.................+
|  Adelaide | 1295 |    1158259 |          600.50 |
|  Brisbane | 5905 |    1857594 |         1146.40 |
|    Darwin |  112 |     120900 |         1714.70 |
|    Hobart | 1357 |     205556 |          619.50 |
+...........+......+............+.................+
+-----------+------+------------+-----------------+
| City name | Area | Population | Annual Rainfall |
+-----------+------+------------+-----------------+
|  Adelaide | 1295 |    1158259 |          600.50 |
|  Brisbane | 5905 |    1857594 |         1146.40 |
|    Darwin |  112 |     120900 |         1714.70 |
|    Hobart | 1357 |     205556 |          619.50 |
+-----------+------+------------+-----------------+
+-----------+------+------------+-----------------+
| City name | Area | Population | Annual Rainfall |
+-----------+------+------------+-----------------+
|  Adelaide | 1295 |    1158259 |          600.50 |
|  Brisbane | 5905 |    1857594 |         1146.40 |
|    Darwin |  112 |     120900 |         1714.70 |
|    Hobart | 1357 |     205556 |          619.50 |
+-----------+------+------------+-----------------+
Salin selepas log masuk

Atas ialah kandungan terperinci python实用库学习PrettyTable的详细说明. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana saya menggunakan sup yang indah untuk menghuraikan html? Bagaimana saya menggunakan sup yang indah untuk menghuraikan html? Mar 10, 2025 pm 06:54 PM

Bagaimana saya menggunakan sup yang indah untuk menghuraikan html?

Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks Mar 05, 2025 am 09:58 AM

Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks

Penapisan gambar di python Penapisan gambar di python Mar 03, 2025 am 09:44 AM

Penapisan gambar di python

Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch? Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch? Mar 10, 2025 pm 06:52 PM

Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch?

Pengenalan kepada pengaturcaraan selari dan serentak di Python Pengenalan kepada pengaturcaraan selari dan serentak di Python Mar 03, 2025 am 10:32 AM

Pengenalan kepada pengaturcaraan selari dan serentak di Python

Serialization dan deserialisasi objek python: Bahagian 1 Serialization dan deserialisasi objek python: Bahagian 1 Mar 08, 2025 am 09:39 AM

Serialization dan deserialisasi objek python: Bahagian 1

Cara Melaksanakan Struktur Data Anda Sendiri di Python Cara Melaksanakan Struktur Data Anda Sendiri di Python Mar 03, 2025 am 09:28 AM

Cara Melaksanakan Struktur Data Anda Sendiri di Python

Modul Matematik dalam Python: Statistik Modul Matematik dalam Python: Statistik Mar 09, 2025 am 11:40 AM

Modul Matematik dalam Python: Statistik

See all articles