技术文摘
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 输出精美表格,让数据展示更加清晰和专业。
- 读取和修改HTML DOM元素property属性的方法
- Visual Studio Code 中如何复制折叠的代码
- 怎样利用 style.css 对页面内联样式进行覆盖
- Flex 布局下 overflow-scroll 不起作用如何解决
- Vue.js项目固定列中绝对定位元素超出列范围问题的解决方法
- 用HTML和JavaScript实现无a标签的页面内位置跳转方法
- 在JavaScript中如何依据条件利用正则表达式截取HTML字符串
- React中克服实时更新状态挑战的方法
- CSS 语法如何精准筛选同时具备两个特定类别的元素
- 如何优雅地将 CSS 变量数字转换为字符串
- uniapp中用uni.downloadFile下载docx文件变成pdf的原因
- CSS 变量里怎样把数字转为字符串并连接百分号
- Echarts图表中怎样对换行文字上下颜色与样式进行修改
- Vue里停止每隔10秒调用一次方法的方法
- Vue3 TypeScript项目中Pinia模块找不到的原因