用途
Great Tables 用于在 Python 中创建美观、达到出版物质量的表格。其灵感来源于 R 语言的 gt 包,适合生成报告、论文或演示文稿中的表格,展示数据分析结果,以及在 Streamlit / Dash 等应用中作为仪表盘组件。
主要能力
- 基础表格创建:通过
GT(df)将 pandas DataFrame 转为表格,支持标题(tab_header)与来源说明(tab_source_note)。 - 列格式化:支持货币(
fmt_currency)、数字(fmt_number、fmt_integer,含use_seps、decimals、compact等参数)、百分比(fmt_percent)、日期(fmt_date)与日期时间(fmt_datetime)格式化,并可按行指定不同格式。 - 样式与颜色:通过
style与loc模块设置填充色、文字颜色/粗细/斜体、边框、单元格内边距等,可定位到列标签、表体指定单元格等位置。 - 条件格式:
data_color支持颜色刻度(如红-黄-绿),并可结合html生成趋势图标和单元格内条形图。 - 分组布局:支持行分组(
groupname_col)、行名(rowname_col)、列跨栏(tab_spanner)以及嵌套分组。 - 脚注与注释:
tab_footnote可针对标题、列标签或具体单元格添加脚注,tab_stubhead可设置行名列标签。 - 导出:可保存为 HTML(如
table.save("basic_table.html")),文档提到还支持图片与 PDF 输出。
使用方式
安装命令(来自资料):
# 基础安装
pip install great_tables
# 包含全部可选依赖
pip install great_tables pandas polars
# 图片导出(PNG/PDF)
pip install great_tables webshot
# 使用 uv(推荐)
uv pip install great_tables pandas polars
# 验证安装
python -c "from great_tables import GT; print('Great Tables ready!')"
基本用法:从 great_tables 导入 GT(以及 md、html、style、loc 等),传入 DataFrame 后用链式方法设置标题、格式、样式与分组,最后 save 为 HTML 或在 Jupyter 中直接显示。
适用场景
- 出版物表格(报告、论文、演示)
- 分析结果的专业展示
- 通过颜色和图标突出数据模式的条件格式
- 多级表头、分组行、脚注等复杂布局
- Web 报告中的 HTML 表格
- Streamlit / Dash 应用的仪表盘组件
- 需要快速获得精美表格而无需手工设置样式
- 需要 PNG 或 PDF 输出
限制
资料明确指出以下情况不建议使用 Great Tables:
- 大型数据集(展示超过 1000 行,应使用分页)
- 需要可编辑单元格(应使用 Streamlit data_editor)
- 实时更新的流式数据展示
- 需要复杂交互(排序、筛选,应使用 DataTables 或 AG Grid)
- 原始数据探索(应使用 pandas display 或 ydata-profiling)
关于具体收费、价格、平台支持范围等信息,资料暂未提供。