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

如何使用Pandas实现特定格式的单元格合并与表格重构

使用Pandas实现表格单元格合并与结构转换的方案

没问题,我来帮你搞定这个表格转换需求!根据你给出的前后表格对比,核心是把原表格中奇数行的内容作为新列名,偶数行的内容作为对应列的值,最终合并成一行多列的结构。下面是具体的Python Pandas实现代码,每一步都有清晰的注释:

import pandas as pd

# 1. 构造你提供的原始表格数据
raw_data = [
    ['value', 'value', 'value'],   # 行0:对应test1-test3的值
    ['test4', 'test5', None],      # 行1:新增列名test4、test5
    ['value', 'value', None],      # 行2:对应test4、test5的值
    ['test6', 'test7', 'test8'],   # 行3:新增列名test6-test8
    ['value', 'value', 'value'],   # 行4:对应test6-test8的值
    ['test9', 'test0', None],      # 行5:新增列名test9、test0
    ['value', 'value', None]       # 行6:对应test9、test0的值
]
original_df = pd.DataFrame(raw_data, columns=['test1', 'test2', 'test3'])

# 2. 提取新增的列名和对应的值
# 提取奇数行(索引1、3、5)的非空值作为新列名
new_column_names = original_df.iloc[[1, 3, 5]].stack().tolist()
# 提取偶数行(索引0、2、4、6)的非空值作为对应列的值
new_values = original_df.iloc[[0, 2, 4, 6]].stack().tolist()

# 3. 合并原列名与新列名,构造最终的DataFrame
all_columns = original_df.columns.tolist() + new_column_names
final_df = pd.DataFrame([new_values], columns=all_columns)

# 4. 可选:设置表格对齐样式(和你给出的示例格式完全匹配)
styled_table = final_df.style.set_table_styles([
    # 设置表头对齐:第一列右对齐,最后一列右对齐,其余左对齐
    {'selector': 'th:first-child', 'props': [('text-align', 'right')]},
    {'selector': 'th:last-child', 'props': [('text-align', 'right')]},
    {'selector': 'th:not(:first-child):not(:last-child)', 'props': [('text-align', 'left')]},
    # 设置单元格对齐:和表头规则一致
    {'selector': 'td:first-child', 'props': [('text-align', 'right')]},
    {'selector': 'td:last-child', 'props': [('text-align', 'right')]},
    {'selector': 'td:not(:first-child):not(:last-child)', 'props': [('text-align', 'left')]}
])

# 查看结果:如果是在Jupyter环境,直接显示styled_table;否则打印HTML或原始数据
print("最终表格数据结构:")
print(final_df)
# 若要输出带格式的HTML,可使用print(styled_table.to_html())

代码说明:

  • 构造原始数据:完全对应你给出的合并前表格,用None填充空单元格。
  • 提取列名和值:使用iloc精准定位行,stack()自动过滤空值,把分散的列名和值整理成有序列表。
  • 合并构造新表:把原列名和新增列名合并,值列表转成二维数组(符合DataFrame的行数据格式),快速生成目标表格。
  • 样式设置:通过Styler模块实现和示例一致的对齐格式,让输出表格更美观规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:59:43