在 Python 中將列表列印為表格資料


資料處理和分析是程式設計的關鍵方面,尤其是在處理大型資料集時。程式設計師經常面臨的挑戰之一是如何以清晰且有組織的格式呈現資料,以便於理解和分析。Python 作為一種多功能語言,提供了各種技術和庫來將列表列印為表格資料,從而實現資訊的視覺化表示。將列表列印為表格資料涉及將資料排列成行和列,類似於表格結構。這種格式使比較和理解不同資料點之間的關係更加容易。無論您是在進行資料分析專案、生成報告還是向利益相關者展示資訊,能夠在 Python 中將列表列印為表格都是一項寶貴的技能。

在本文中,我們將探討 Python 中可用於將列表列印為表格資料的不同方法和庫。我們將從基礎開始,使用內建的 print() 函式建立簡單的表格。然後,我們將利用 tabulate 和 PrettyTable 等流行庫深入研究更高階的技術。所以請務必閱讀本文到最後,以便更好地理解。

使用內建的 print() 函式

將列表作為表格列印的最簡單方法是使用內建的 print() 函式。但是,此方法僅適用於行長度一致的基本表格。

這是一個您可以參考的示例

data = [
    ['Name', 'Age', 'Country'],
    ['John Doe', '25', 'USA'],
    ['Jane Smith', '32', 'Canada'],
    ['Mark Johnson', '45', 'UK']
]

for row in data:
    print('\t'.join(row))

輸出

Name         Age    Country
John Doe     25     USA
Jane Smith   32     Canada
Mark Johnson 45     UK

在上面的程式碼片段中,我們使用 join() 方法將每個行的元素與製表符 ('\t') 連線起來。列印時,這將生成類似於製表符分隔的表格結構。

雖然此方法快捷直接,但它缺乏處理複雜表格格式(例如對齊和標題)的靈活性。對於更高階的表格列印選項,我們可以轉向外部庫。

使用 tabulate 庫

對於更復雜的表格格式,tabulate 庫是一個不錯的選擇。它提供各種格式選項,包括新增標題、修改對齊方式和選擇表格樣式(例如,“plain”、“simple”、“grid”或“fancy_grid”)的能力。

要使用 tabulate,我們需要首先使用以下命令安裝它:

pip install tabulate

成功輸出

Collecting tabulate
  Downloading tabulate-0.8.9-py3-none-any.whl (25 kB)
Installing collected packages: tabulate
Successfully installed tabulate-0.8.9

安裝完成後,我們可以使用該庫將列表輸出為表格。讓我們更新之前的示例以新增 tabulate 庫。

這是在終端開啟並開始執行的程式碼:

示例

from tabulate import tabulate

data = [
    ['Name', 'Age', 'Country'],
    ['John Doe', '25', 'USA'],
    ['Jane Smith', '32', 'Canada'],
    ['Mark Johnson', '45', 'UK']
]

print(tabulate(data, headers='firstrow', tablefmt='fancy_grid'))

輸出

╒═════════════╤═════╤═════════╕
│ Name        │ Age │ Country │
╞═════════════╪═════╪═════════╡
│ John Doe    │ 25  │ USA     │
├─────────────┼─────┼─────────┤
│ Jane Smith  │ 32  │ Canada  │
├─────────────┼─────┼─────────┤
│ Mark Johnson│ 45  │ UK      │
╘═════════════╧═════╧═════════╛

在上面的程式碼片段中,我們從 tabulate 庫匯入 tabulate 函式。tabulate() 函式將資料列表作為第一個引數。我們將 headers 引數設定為 'firstrow' 以指示第一行包含標題。tablefmt 引數指定所需的表格格式(本例中為 'fancy_grid')。

tabulate 庫提供各種表格格式可供選擇,具體取決於所需的表格視覺外觀。例如,“plain”格式提供一個簡單的表格,沒有任何額外的裝飾,而“grid”格式新增垂直和水平線以分隔單元格。該庫的靈活性允許我們以最適合我們需求的方式呈現資料。

使用 PrettyTable

PrettyTable 是另一個流行的庫,用於將列表生成表格。它提供了一種簡單直觀的方法來建立和自定義表格。

要安裝 PrettyTable,請使用以下命令:

pip install prettytable

成功輸出

Collecting prettytable
  Downloading prettytable-2.2.1-py3-none-any.whl (22 kB)
Requirement already satisfied: setuptools in /usr/local/lib/python3.9/site-packages (from prettytable) (57.4.0)
Installing collected packages: prettytable
Successfully installed prettytable-2.2.1

安裝完成後,我們可以使用該庫將列表列印為表格。讓我們修改之前的示例以包含 PrettyTable 庫。

示例

請參考以下程式碼:

from prettytable import PrettyTable

table = PrettyTable()
table.field_names = ['Name', 'Age', 'Country']
table.add_row(['John Doe', '25', 'USA'])
table.add_row(['Jane Smith', '32', 'Canada'])
table.add_row(['Mark Johnson', '45', 'UK'])

print(table)

輸出

+--------------+-----+---------+
|     Name     | Age | Country |
+--------------+-----+---------+
|   John Doe   |  25 |   USA   |
|  Jane Smith  |  32 |  Canada |
| Mark Johnson |  45 |    UK   |
+--------------+-----+---------+

在最後一段程式碼中,我們從 prettytable 包匯入 PrettyTable 類。我們構建一個 PrettyTable 物件,並使用 field_names 屬性設定欄位名稱。然後使用 add_row() 方法向表中新增行。最後,我們打印表物件,它會自動將其格式化為表格格式。

使用 PrettyTable 有許多好處,包括能夠更改表格的外觀。在列印之前,您甚至可以對資料進行排序,同時指定列對齊方式並更改邊框設計和頁尾行的新增。這使得以更美觀且更有指導意義的方式顯示資料成為可能。

結論

總之,在 Python 中將列表列印為表格資料是資料處理和演示中一項寶貴的技能。在本文中,我們探討了各種技術和庫,例如 tabulate 和 PrettyTable,它們使我們能夠有效地完成此任務。這些工具使我們能夠將原始資料轉換為結構化且視覺上吸引人的表格,從而更容易理解和傳達我們資料驅動的見解。無論我們選擇內建 print() 函式的簡單性還是外部庫的多功能性,Python 都為我們提供了必要的資源,以便以結構化和組織化的方式呈現我們的資料。透過掌握這些技術,我們可以增強我們的資料分析和演示技能,有效地向利益相關者傳達資訊,並使我們的工作更有影響力。

更新於:2023年7月25日

6000+ 瀏覽量

啟動您的 職業生涯

完成課程後獲得認證

開始
廣告
© . All rights reserved.