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

如何将SQL表数据通过Pivot转换为每个NAME对应一行?

嘿,我明白你要把每个产品的多条分层记录合并成单行的需求了,这在数据整理里是很常见的场景。我已经帮你把给定的数据转换成宽表格式,直接用Markdown表格呈现出来:

转换后的宽表数据
NAMELAY_1_TYPELAY_1_DEPTHLAY_2_TYPELAY_2_DEPTHLAY_3_TYPELAY_3_DEPTHLAY_4_TYPELAY_4_DEPTH
32_42_1A99.4D427.2X120.4B27
32_42_2A150.4D427.2X121.4C40
32_42_3F80.97Y300.2C123.4C120

如果你以后遇到类似的批量数据需要处理,用Python的Pandas库可以快速实现这个转换,给你写个示例代码参考:

import pandas as pd

# 模拟你的原始数据
raw_data = [
    ["32_42_1", "LAY_1", "A", 99.4],
    ["32_42_1", "LAY_2", "D", 427.2],
    ["32_42_1", "LAY_3", "X", 120.4],
    ["32_42_1", "LAY_4", "B", 27],
    ["32_42_2", "LAY_1", "A", 150.4],
    ["32_42_2", "LAY_2", "D", 427.2],
    ["32_42_2", "LAY_3", "X", 121.4],
    ["32_42_2", "LAY_4", "C", 40],
    ["32_42_3", "LAY_1", "F", 80.97],
    ["32_42_3", "LAY_2", "Y", 300.2],
    ["32_42_3", "LAY_3", "C", 123.4],
    ["32_42_3", "LAY_4", "C", 120],
]

# 转换成DataFrame
df = pd.DataFrame(raw_data, columns=["NAME", "LAYER", "TYPE", "DEPTH"])

# 透视转换为宽表
wide_table = df.pivot(index="NAME", columns="LAYER", values=["TYPE", "DEPTH"])
# 重命名列名,让格式更清晰
wide_table.columns = [f"{layer}_{col}" for col, layer in wide_table.columns]
# 重置索引,把NAME变回普通列
wide_table = wide_table.reset_index()

# 输出Markdown格式的结果
print(wide_table.to_markdown(index=False))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:33:39