1. 使用 tabulate
库(终端/文本表格)
适合在命令行或终端中快速生成简单的文本表格。
# 安装库
pip install tabulate
# 示例代码
from tabulate import tabulatedata = [["Alice", 28, "Engineer"],["Bob", 32, "Designer"],["Charlie", 25, "Developer"]
]headers = ["Name", "Age", "Job"]
print(tabulate(data, headers=headers, tablefmt="grid"))
输出效果:
支持的表格格式:"plain"
, "simple"
, "grid"
, "fancy_grid"
, "pipe"
等。
2. 使用 pandas
库(数据处理与表格输出)
适合处理结构化数据并生成表格(支持导出到文件如 CSV、Excel)。
# 安装库
pip install pandas
import pandas as pddata = {"Name": ["Alice", "Bob", "Charlie"],"Age": [28, 32, 25],"Job": ["Engineer", "Designer", "Developer"]
}df = pd.DataFrame(data)
print(df)
输出效果:
3. 使用 matplotlib
绘制图像表格
适合生成图片格式的表格(如 PNG、PDF)。
# 安装库
pip install matplotlib
import matplotlib.pyplot as pltdata = [["Alice", 28, "Engineer"],["Bob", 32, "Designer"],["Charlie", 25, "Developer"]
]columns = ("Name", "Age", "Job")plt.figure(figsize=(6, 2))
ax = plt.gca()
ax.axis("off")# 绘制表格
table = plt.table(cellText=data,colLabels=columns,loc="center",cellLoc="center"
)# 调整样式
table.auto_set_font_size(False)
table.set_fontsize(12)
table.scale(1, 1.5) # 调整单元格宽高plt.savefig("table.png", bbox_inches="tight")
plt.show()
输出效果:
生成一个图片文件 table.png
,包含表格内容。
4. 生成 HTML 表格
适合网页应用或导出到 HTML 文件。
data = [["Alice", 28, "Engineer"],["Bob", 32, "Designer"],["Charlie", 25, "Developer"]
]html = """
<table border="1"><tr><th>Name</th><th>Age</th><th>Job</th></tr>
"""for row in data:html += " <tr>"for item in row:html += f"<td>{item}</td>"html += "</tr>\n"html += "</table>"with open("table.html", "w") as f:f.write(html)
5. 使用 prettytable
库(终端美化表格)
类似 tabulate
,但提供更多自定义选项。
pip install prettytablefrom prettytable import PrettyTabletable = PrettyTable()
table.field_names = ["Name", "Age", "Job"]
table.add_row(["Alice", 28, "Engineer"])
table.add_row(["Bob", 32, "Designer"])
table.add_row(["Charlie", 25, "Developer"])print(table)
输出效果:
选择建议
-
终端显示:
tabulate
或prettytable
-
生成图片:
matplotlib
-
数据分析:
pandas
-
网页应用:直接生成 HTML 表格