技术文摘
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 输出精美表格,让数据展示更加清晰和专业。
- WebAPI图片上传:无法获取上传文件的原因
- JavaScript弹窗弹不出,是代码中多余括号和逗号引发语法错误吗
- Element Table 表头文字对齐:两个字与四个字如何实现对齐
- 无尺寸定义的 SVG 画布 浏览器怎样确定其大小
- 用 CSS 伪类选择器实现 span 标签按钮选中高亮状态的方法
- 怎样清除微信服务号浏览器缓存
- 在 HTML 里怎样防止 @ 符号被解析成电子邮件地址
- Vue3 里 reactive 接收基础数据类型能实现响应式的原因
- HTML页面中显示初始隐藏DIV的方法
- Flex 布局下 overflow-scroll 失效的解决办法
- HTML 和 CSS 打造可交互圆盘式环形图的方法
- for循环中用js arrays.push添加元素为何会重复输出
- JavaScript 函数挑战
- CSS中box-shadow设置透明度阴影的正确用法
- 图片宽度怎样自适应容器宽度