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

如何通过Pandas将多份CSV合并为带描述与间隔的单HTML文件?

解决方案:合并多个CSV表格到单个HTML文件(带描述和间隔)

当然可以!其实你完全不用写四个独立的脚本,只需要一个脚本就能搞定所有需求——把多个CSV对应的表格合并到同一个HTML文件里,还能轻松给每个表格加描述、调整间距,完美适配邮件正文的需求。

下面是修改后的完整代码,我已经做了适配邮件客户端的优化:

#!/usr/bin/python
import pandas as pd

# 定义CSV文件路径和对应的表格描述,按你的实际需求添加/修改
csv_info = [
    ("users.csv", "用户基础信息表"),
    ("users2.csv", "扩展用户信息表"),
    ("groups.csv", "用户分组信息表"),
    ("groups2.csv", "扩展分组信息表")  # 第四个文件,替换成你实际的文件名
]

# 初始化HTML内容,加入适配邮件的基础内联样式
html_content = """
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <style>
        table { border-collapse: collapse; width: 100%; margin: 10px 0; }
        th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }
        th { background-color: #f2f2f2; }
        .table-section { margin-bottom: 20px; }
    </style>
</head>
<body>
"""

# 循环处理每个CSV,生成带描述的表格区块
for csv_path, table_desc in csv_info:
    # 读取CSV数据
    df = pd.read_csv(csv_path)
    # 转换为HTML表格,去掉默认索引列
    table_html = df.to_html(index=False)
    # 将描述和表格拼接进HTML内容
    html_content += f"""
    <div class="table-section">
        <h3>{table_desc}</h3>
        {table_html}
    </div>
    """

# 闭合HTML标签
html_content += """
</body>
</html>
"""

# 写入合并后的HTML文件
with open('combined_output.html', 'wt', encoding='utf-8') as output_file:
    output_file.write(html_content)

代码关键说明:

  • 灵活的CSV配置:csv_info列表把每个CSV文件和对应的描述绑定,后续要新增/修改文件,直接在这里调整即可,不用改核心逻辑。
  • 邮件友好的样式:用内联<style>定义表格样式(边框、背景色、间距),避免外部CSS(多数邮件客户端不支持),确保在邮件里显示正常。
  • 表格区块间隔:通过.table-section类的margin-bottom控制表格之间的间距,你可以根据需求调整数值。
  • 整洁的表格:添加index=False去掉pandas默认生成的索引列,让表格更符合阅读习惯。

邮件使用小技巧:

  1. 先在本地浏览器打开生成的combined_output.html预览效果,确认样式和间距没问题。
  2. 直接复制HTML内容到邮件编辑器(部分邮件客户端可能需要切换到"HTML编辑模式"),避免格式错乱。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:51:55