无法正确生成目标表格:如何转换得到含DDT_EXT合并列的透视表
实现方案
你需要的效果本质是新增一个计算列,将DDT和EXT字段的内容按下划线拼接,不同工具的实现方式如下:
Excel/WPS 表格
- 在D2单元格(对应第一行数据的DDT_EXT列位置)输入公式
=B2&"_"&C2,按下回车后选中单元格下拉填充整列,手动把D列表头修改为DDT_EXT即可。 - 如果需要处理空值异常,可以用公式
=IF(OR(B2="",C2=""),"",B2&"_"&C2)避免出现无效拼接结果。
Python Pandas
假设你已经将原表格读取为名为df的DataFrame对象,执行以下代码即可生成目标列:
# 注意EXT是数值类型,需要先转成字符串才能和文本类型的DDT拼接 df['DDT_EXT'] = df['DDT'] + '_' + df['EXT'].astype(str)
SQL
如果数据存储在关系型数据库中,查询时直接拼接字段即可,不同数据库语法略有区别:
- MySQL/PostgreSQL/SQL Server:
SELECT sy3, DDT, EXT, CONCAT(DDT, '_', EXT) AS DDT_EXT FROM 你的表名;
- Oracle:
SELECT sy3, DDT, EXT, DDT || '_' || EXT AS DDT_EXT FROM 你的表名;
内容的提问来源于stack exchange,提问作者Azougar Mohamed
相关产品推荐
相关产品推荐

