在本教程中,我們將學習使用 Python PrettyTable 模塊創建一個關係表。我們將在不使用外部庫的情況下創建表。
什麼是漂亮的桌子?
漂亮的表格是表格形式的數據的可視化表示。這些是 ASCII 表,很容易使用。可修改庫由可修改類組成,用於創建關係表。要使用這個庫,我們需要使用下面的命令安裝它。
裝置
pip install prettytable
使用漂亮的表格創建表格
在這裡,我們將使用漂亮的表模塊創建行方式的表。讓我們理解下面的例子。
示例- 1: 逐行創建表格
from prettytable import PrettyTable
# Creating a new table
newTable = PrettyTable(["Student Name", "Class", "Subject", "Makrs"])
# Add rows
newTable.add_row(["Camron", "X", "English", "91"])
newTable.add_row(["Haris", "X", "Math", "63"])
newTable.add_row(["Jenny", "X", "Science", "90"])
newTable.add_row(["Bernald", "X", "Art", "92"])
newTable.add_row(["Jackson", "X", "Science", "98"])
newTable.add_row(["Samual", "X", "English", "88"])
newTable.add_row(["Stark", "X", "English", "95"])
print(newTable)
輸出
+--------------+-------+---------+-------+
| Student Name | Class | Subject | Makrs |
+--------------+-------+---------+-------+
| Camron | X | English | 91 |
| Haris | X | Math | 63 |
| Jenny | X | Science | 90 |
| Bernald | X | Art | 92 |
| Jackson | X | Science | 98 |
| Samual | X | English | 88 |
| Stark | X | English | 95 |
+--------------+-------+---------+-------+
示例- 2:列方向表
from prettytable import PrettyTable
columns = ["Student Name", "Class", "Subject", "Marks"]
newTable = PrettyTable()
# Add Columns
newTable.add_column(columns[0], ["Jacob", "Peter", "Grenger",
"Stark", "Falcon", "Matthew", "Jackson"])
newTable.add_column(columns[1], ["X", "X", "X", "X", "X", "X", "X"])
newTable.add_column(columns[2], ["English", "Art", "Science", "Math", "Science", "English", "English"])
newTable.add_column(columns[3], ["91", "63", "90", "92",
"98", "83", "95"])
print(newTable)
輸出
+--------------+-------+---------+-------------------+
| Student Name | Class | Subject | Marks |
+--------------+-------+---------+-------------------+
| Jacob | X | English | 91 |
| Peter | X | Art | 63 |
| Grenger | X | Science | 90 |
| Stark | X | Math | 92 |
| Falcon | X | Science | 98 |
| Matthew | X | English | 83 |
| Jackson | X | English | 95 |
+--------------+-------+---------+------------------+
我們使用了漂亮表模塊的 add_column() 方法。
示例- 2:一次性添加行
from prettytable import PrettyTable
# Creating a new table
newTable = PrettyTable(["Student Name", "Class", "Subject", "Makrs"])
# # Add rows
newTable.add_rows(
[
["Camron", "X", "English", "91"],
["Haris", "X", "Math", "63"],
["Jenny", "X", "Science", "90"],
["Bernald", "X", "Art", "92"],
["Jackson", "X", "Science", "98"],
["Samual", "X", "English", "88"],
["Stark", "X", "English", "95"],
]
)
print(newTable)
輸出
+--------------+-------+---------+-------+
| Camron | X | English | 91 |
| Haris | X | Math | 63 |
| Jenny | X | Science | 90 |
| Bernald | X | Art | 92 |
| Jackson | X | Science | 98 |
| Samual | X | English | 88 |
| Stark | X | English | 95 |
+--------------+-------+---------+-------+
可修改的刪除行
這個模塊提供了 del_row()方法,允許我們移除行。它接受要刪除的索引值並移除行。索引從零開始。讓我們理解下面的代碼。
示例-
from prettytable import PrettyTable
# Creating a new table
newTable = PrettyTable(["Student Name", "Class", "Subject", "Makrs"])
# # Add rows
newTable.add_row(["Camron", "X", "English", "91"])
newTable.add_row(["Haris", "X", "Math", "63"])
newTable.add_row(["Jenny", "X", "Science", "90"])
newTable.add_row(["Bernald", "X", "Art", "92"])
newTable.add_row(["Jackson", "X", "Science", "98"])
newTable.add_row(["Samual", "X", "English", "88"])
newTable.add_row(["Stark", "X", "English", "95"])
newTable.del_row(1)
newTable.del_row(2)
newTable.del_row(3)
print(newTable)
輸出
+--------------+-------+---------+-------+
| Student Name | Class | Subject | Makrs |
+--------------+-------+---------+-------+
| Camron | X | English | 91 |
| Jenny | X | Science | 90 |
| Jackson | X | Science | 98 |
| Stark | X | English | 95 |
+--------------+-------+---------+-------+
它將從表中刪除特定的行。要清除整個表,我們使用以下方法。
myTable.clear_rows()
示例- 2
from prettytable import PrettyTable
# Creating a new table
newTable = PrettyTable(["Student Name", "Class", "Subject", "Makrs"])
# # Add rows
newTable.add_row(["Camron", "X", "English", "91"])
newTable.add_row(["Haris", "X", "Math", "63"])
newTable.add_row(["Jenny", "X", "Science", "90"])
newTable.add_row(["Bernald", "X", "Art", "92"])
newTable.add_row(["Jackson", "X", "Science", "98"])
newTable.add_row(["Samual", "X", "English", "88"])
newTable.add_row(["Stark", "X", "English", "95"])
newTable.clear_rows()
print(newTable)
輸出
+--------------+-------+---------+------------------+
| Student Name | Class | Subject | Makrs |
+--------------+-------+---------+--------------------+
+--------------+-------+---------+--------------------+
正如我們在上面的代碼中看到的,所有的行都被刪除了。我們只能看到列名。
獲取特定的行和列
可修改的主要目的是得到 ASCII 形式的表格。我們可以使用以下方法來限制表的輸出。
get_string(fields=["Column 1", "Column2", .............., ColumnN]
讓我們理解下面的例子。
示例:
from prettytable import PrettyTable
# Creating a new table
newTable = PrettyTable(["Student Name", "Class", "Subject", "Makrs"])
# # Add rows
newTable.add_rows(
[
["Camron", "X", "English", "91"],
["Haris", "X", "Math", "63"],
["Jenny", "X", "Science", "90"],
["Bernald", "X", "Art", "92"],
["Jackson", "X", "Science", "98"],
["Samual", "X", "English", "88"],
["Stark", "X", "English", "95"],
]
)
print(newTable.get_string(fields=["Student Name", "Class"]))
輸出
+--------------+--------------+
| Student Name | Class |
+--------------+--------------+
| Camron | X |
| Haris | X |
| Jenny | X |
| Bernald | X |
| Jackson | X |
| Samual | X |
| Stark | X |
+--------------+---------------+
field 參數接受要打印的字段名列表。
我們也可以用下面的方法來控制結果。
print(newTable.get_string(start=1, end=4)
輸出
+--------------+-------+---------+-------------------+
| Student Name | Class | Subject | Makrs |
+--------------+-------+---------+-------------------+
| Camron | X | English | 91 |
| Haris | X | Math | 63 |
| Jenny | X | Science | 90 |
+--------------+-------+---------+------------------+
更改列的對齊方式
我們可以觀察到表中的所有列都居中對齊。我們可以根據需要改變,給分配一個字符,對齊屬性。有三個字符串——「l」(代表左邊)、「r」(代表右邊)和「c」(代表中間)分別對齊。
讓我們看看下面的例子。
示例-
newTable.align = 'r'
print(newTable)
輸出
+--------------+-------+---------+-------------------+
| Student Name | Class | Subject | Makrs |
+--------------+-------+---------+------------------+
| Camron | X | English | 91 |
| Haris | X | Math | 63 |
| Jenny | X | Science | 90 |
| Bernald | X | Art | 92 |
| Jackson | X | Science | 98 |
| Samual | X | English | 88 |
| Stark | X | English | 95 |
+--------------+-------+---------+------------------+
更改表格的外觀
默認表看起來像一個 SQL 數據庫 Shell。但是,我們可以用其他格式修改表格外觀。漂亮的表格模塊提供了 set_style() 方法,在 MSWord 友好中轉換表格。
讓我們看看下面的例子。
示例-在創建表代碼中添加以下代碼。
from prettytable import MSWORD_FRIENDLY
newTable.set_style(MSWORD_FRIENDLY)
print(newTable)
輸出
| Student Name | Class | Subject | Makrs |
| Camron | X | English | 91 |
| Haris | X | Math | 63 |
| Jenny | X | Science | 90 |
| Bernald | X | Art | 92 |
| Jackson | X | Science | 98 |
| Samual | X | English | 88 |
| Stark | X | English | 95 |
我們可以清楚地看到默認表和 MSWord 友好表的區別。
結論
我們已經使用可修改的模塊討論了表格中的一些重要操作。這是一個使用 Python 腳本處理表的非常有效的模塊。
原創文章,作者:CKDIH,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/324701.html