You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何遍历pandas dataframe列表并批量插入到Python生成的HTML代码中

批量将DataFrame列表写入HTML页面的实现方法

核心思路:Python的f-string不支持直接嵌入循环逻辑,因此你可以提前遍历DataFrame列表生成所有表格的HTML片段,将片段合并后再一次性插入到最终的HTML模板中即可。

完整可运行实现代码如下:

import pandas as pd

# 此处替换为你自己的DataFrame列表
df_list = [
    pd.DataFrame({"列1": [1,2,3], "列2": [4,5,6]}),
    pd.DataFrame({"姓名": ["张三","李四","王五"], "年龄": [20,25,30]}),
    pd.DataFrame({"商品": ["A","B","C"], "销量": [100,200,300]})
]

# 步骤1:遍历生成所有表格的HTML片段
table_segments = []
for idx, df in enumerate(df_list):
    # 可自定义每个表格的标题规则
    table_title = f"<h3>第{idx+1}个数据表</h3>"
    # 调用to_html生成表格代码,head(5)保留前5行,可根据需求调整参数
    table_html = df.head(5).to_html(classes="data-table", border=1)
    table_segments.append(f"{table_title}{table_html}<br><hr>")

# 合并所有表格片段为一个字符串
all_tables = "\n".join(table_segments)

# 步骤2:嵌入到完整HTML模板中
full_html = f"""
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>多数据表汇总页面</title>
    <style>
        /* 可选:自定义表格样式,不需要可以删除整个style块 */
        .data-table {{
            border-collapse: collapse;
            margin: 10px 0;
            width: 100%;
        }}
        .data-table th, .data-table td {{
            padding: 8px;
            text-align: left;
            border: 1px solid #ddd;
        }}
    </style>
</head>
<body>
    <h1>所有数据表汇总</h1>
    <!-- 批量插入所有生成的表格 -->
    {all_tables}
</body>
</html>
"""

# 写入本地HTML文件
with open("data_tables.html", "w", encoding="utf-8") as f:
    f.write(full_html)

常见调整项:

  • 不需要限制显示行数的话,直接删除head(5)即可输出全量DataFrame内容
  • 需要跳过空DataFrame的话,在循环中加入判断if not df.empty: 再生成对应片段即可
  • 如果每个DataFrame设置了name属性,可以用df.name作为表格标题,替换循环中的title生成规则即可
  • to_html方法支持设置index=False隐藏行号列,可根据需求添加参数

内容的提问来源于stack exchange,提问作者Jason H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 08:54:05