技术文摘
5 个实用案例:Python 输出精美表格
2024-12-31 10:23:23 小编
5 个实用案例:Python 输出精美表格
在数据处理和展示中,Python 提供了强大的工具和库来输出精美的表格。以下将为您介绍 5 个实用案例,帮助您轻松实现这一目标。
案例一:使用 Pandas 库
Pandas 是 Python 中用于数据处理的强大库。通过读取数据文件,如 CSV 或 Excel,然后使用pandas.DataFrame对象,可以方便地进行数据操作和表格输出。
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'London', 'Paris']}
df = pd.DataFrame(data)
print(df)
案例二:PrettyTable 库
PrettyTable 库专门用于创建美观的表格。可以自定义列名、对齐方式等。
from prettytable import PrettyTable
table = PrettyTable()
table.field_names = ["Name", "Age", "City"]
table.add_row(["Alice", 25, "New York"])
table.add_row(["Bob", 30, "London"])
table.add_row(["Charlie", 35, "Paris"])
print(table)
案例三:Tabulate 库
Tabulate 库支持多种表格格式的输出,如 plain、simple、grid 等。
from tabulate import tabulate
data = [['Alice', 25, 'New York'],
['Bob', 30, 'London'],
['Charlie', 35, 'Paris']]
print(tabulate(data, headers=["Name", "Age", "City"], tablefmt="grid"))
案例四:使用 CSV 模块结合格式化输出
通过 CSV 模块读取数据,然后进行格式化打印。
import csv
with open('data.csv', newline='') as csvfile:
reader = csv.reader(csvfile)
headers = next(reader)
for row in reader:
print(f"{row[0]:<10} {row[1]:<5} {row[2]:<15}")
案例五:自定义表格输出函数
根据具体需求,自定义一个表格输出函数,实现更灵活的控制。
def print_table(data, headers):
max_lengths = [max(len(str(item)) for item in col) for col in zip(*data)]
format_string = " | ".join(["{:<" + str(length) + "}" for length in max_lengths])
print(format_string.format(*headers))
print('-' * (sum(max_lengths) + 3 * len(headers) - 1))
for row in data:
print(format_string.format(*row))
data = [['Alice', 25, 'New York'],
['Bob', 30, 'London'],
['Charlie', 35, 'Paris']]
headers = ["Name", "Age", "City"]
print_table(data, headers)
通过以上 5 个实用案例,您可以根据不同的场景和需求,选择最合适的方法来使用 Python 输出精美表格,让数据展示更加清晰和专业。
- SpringBoot 开发微信公众号后台的手把手教程
- CSS 渐变的万能之处:用单标签绘制足球场
- Spring Boot 项目全面监控之 Actuator 的实现之道
- 告别 Print 调试,迎来 IceCream !
- 15 个常用的 Javascript 工具类推荐
- 四个鲜为人知的现代 JavaScript 技巧
- 多元时间序列特征工程指引
- fast-json-stringify 速度超 JSON.stringify 两倍
- 泛家庭云 VR 高分辨率渲染技术之浅析
- 两个月在自研非外包创业公司,我竟搞懂了 Volatile
- 五类研发事故:80%的人或曾犯,严重者将被开除
- 共话 Java 中的锁
- 韩国中央大学研究人员开发重尾噪声奖励下最佳决策算法
- SpringAOP 中为何不应使用 This 调用方法
- 全面掌控 Ref 与 Reactive,迈入 Vue3 响应式世界