Panda透视表列合并移除与扁平化 解决Tableau API交叉表列名异常问题
Tableau API交叉表透视合并列扁平化处理方案
- 先解析Tableau返回的原始透视表头层级,确认合并列
Col 3覆盖的子列数量、顺序和对应数据含义,和你需要的规范列名做一一映射:
原基础列 →Col 1、Col 2
原Col 3下的3个子列 → 按顺序对应Col_2.1、Col_2.2、col 2.3 - 拉平表格时直接覆盖表头命名,同时处理合并单元格导致的空值问题:如果维度列
Col 1、Col 2因为合并行出现空值,用前向填充补全同维度值,保证每一行数据完整 - 导出Excel时强制关闭合并单元格参数,避免格式异常
如果用Python pandas处理可以直接用以下代码:
import pandas as pd # 替换为你已经生成的原始透视表变量 raw_pivot_df = get_your_tableau_pivot_table() # 按你指定的规则重命名列,列顺序需要和原始表格列顺序匹配 raw_pivot_df.columns = ["Col 1", "Col 2", "Col_2.1", "Col_2.2", "col 2.3"] # 补全合并行导致的维度列空值,不需要可以删除这行 raw_pivot_df[["Col 1", "Col 2"]] = raw_pivot_df[["Col 1", "Col 2"]].ffill() # 导出时关闭合并单元格 raw_pivot_df.to_excel("output_规范表格.xlsx", index=False, merge_cells=False)
- 处理完成后抽取至少3行原始数据和结果表做值校验,确认维度和指标的映射关系没有错位
内容的提问来源于stack exchange,提问作者Tdakers
相关产品推荐
相关产品推荐

