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

BigQuery中是否存在与pandas的split(expand=True)功能等效的函数?

BigQuery实现类似pandas str.split(expand=True)的拆分列效果

你之前的查询返回的是数组类型的单列,所以会把拆分后的所有值堆叠在同一列展示。要实现和pandasstr.split("~",expand=True)一致的拆分为多列的效果,直接通过数组索引访问拆分后的值即可,用SAFE_OFFSET可以在对应索引无值时自动返回NULL,匹配你要的效果。

正确查询语句

SELECT
  -- 取拆分后第一个元素,TRIM去掉前后多余空格
  TRIM(SPLIT(VALUE, "~")[SAFE_OFFSET(0)]) AS f0_,
  -- 取拆分后第二个元素,无值时返回NULL
  TRIM(SPLIT(VALUE, "~")[SAFE_OFFSET(1)]) AS f1_
FROM my_dataset.my_table

说明

  • 如果拆分后可能有更多列,只需要对应增加SAFE_OFFSET(N)的取值语句即可,N从0开始计数
  • 如果你不需要去掉分隔符前后的空格,可以去掉TRIM函数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:12:02