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

PostgreSQL中如何从多维数组列提取item值生成CSV文本列?

解决方案:从JSON数组列提取item并生成CSV格式列

以下是几种常见工具下的实现方式:

1. SQL(以BigQuery为例)

通过解析JSON数组、提取item值后拼接成CSV字符串:

SELECT
  Triggers,
  STRING_AGG(JSON_VALUE(trigger_obj, '$.item'), ', ') AS Triggers_Simple
FROM
  your_table,
  UNNEST(JSON_EXTRACT_ARRAY(Triggers)) AS trigger_obj
GROUP BY
  Triggers
  • JSON_EXTRACT_ARRAY(Triggers):将JSON格式的字符串转为数组
  • UNNEST:展开数组中的每个元素
  • JSON_VALUE(trigger_obj, '$.item'):提取每个元素的item字段值
  • STRING_AGG(..., ', '):将所有item值用, 拼接成CSV格式

2. Python Pandas

如果用Pandas处理数据,可通过JSON解析+列表推导实现:

import pandas as pd
import json

# 假设df是包含Triggers列的数据框
df['Triggers_Simple'] = df['Triggers'].apply(
    lambda x: ', '.join([obj['item'] for obj in json.loads(x)])
)
  • json.loads(x):将字符串格式的JSON数组转为Python列表
  • 列表推导式遍历每个元素提取item值
  • ', '.join(...):拼接成CSV格式字符串

3. Excel Power Query

适合Excel用户的可视化操作流程:

  • 将数据导入Power Query编辑器
  • 选中Triggers列,点击添加列 > 自定义列,输入公式:
    Text.Combine(List.Transform(Json.Document([Triggers]), each _[item]), ", ")
    
  • 将自定义列重命名为Triggers_Simple,点击关闭并上载完成转换

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 07:40:24