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

如何将单行pandas表格转换为两列横向排列的HTML表格

Pandas单行表格转换为双列横向HTML表格的实现方法

以下两种方法均可实现要求的输出效果:

  • 方法一:基于DataFrame结构转换实现

    1. 先将原单行DataFrame转置,得到键值两列结构
    import pandas as pd
    # 转置原表,重置索引获得字段名、字段值两列
    transposed_df = df.T.reset_index()
    transposed_df.columns = ["key", "value"]
    
    1. 按每2个字段为一组拆分数据,重构为每行对应两组键值的结构
    # 步长为2遍历拆分数据
    row_data = []
    for idx in range(0, len(transposed_df), 2):
        tmp = transposed_df.iloc[idx:idx+2].values.flatten().tolist()
        # 不足两组的补空值
        if len(tmp) < 4:
            tmp += ["", ""]
        row_data.append(tmp)
    # 生成结果表
    res_df = pd.DataFrame(row_data)
    
    1. 导出为无表头无索引的HTML
    html_result = res_df.to_html(header=False, index=False)
    
  • 方法二:直接拼接HTML字符串(可完全匹配自定义样式)
    该方法可以精准控制表格结构、样式属性,输出与预期完全一致的HTML:

    # 获取原表所有键值对
    kv_pairs = list(df.iloc[0].items())
    html_str = '<table border="1">'
    # 按每两个字段生成一行
    for i in range(0, len(kv_pairs), 2):
        html_str += "<tr>"
        # 第一组键值
        k1, v1 = kv_pairs[i]
        html_str += f"<th>{k1}</th><td>{v1}</td>"
        # 第二组键值(存在则添加)
        if i + 1 < len(kv_pairs):
            k2, v2 = kv_pairs[i+1]
            html_str += f"<th>{k2}</th><td>{v2}</td>"
        html_str += "</tr>"
    html_str += "</table>"
    html_result = html_str
    

两种方法输出的表格均为每行展示两个字段的结构,第二种方法支持直接修改标签的样式属性、单元格对齐方式等配置,适配自定义样式需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 17:36:01