【发布时间】:2021-08-12 01:53:36
【问题描述】:
我在platforminfo列有这种数据
[{'df': {}, 'badKs': ['+81312277629'], 'objectId': 'JoF3NUHVYxDAoirH4e6i3g','平台':'Web'},{'df':{},'badKs': ['+81312277629'], 'objectId': '-vfa995e3b5d384b7dbfd8919bad17c28a', '平台':'iOS','os_version':'14.1','app_version':'3.16.2', 'make': 'Apple', 'model': 'iPhone12,3'}]
[{'df': {}, 'objectId': 'elQ8JEW2klEQFMZ0vXZDhw', 'platform': 'Web', '电话':5370002731},{'df':{},'objectId': '__da533f19d1e040bea2b2b58fa6d2ecad','平台':'Android','手机': 5370002731,“os_version”:“10”,“app_version”:“3.6.4”,“make”: '三星','型号':'SM-A605G'}]
我想要的是将这些数据解析成多列,但实际上定义相同但命名不同 badKs=phone
我的期望是这样的:
phone platform os_version make
+81312277629 iOS 14.1 Apple
5370002731 Android 10 Samsung
我已经处理过这个查询
split(REGEXP_REPLACE(platforminfo, r'([\{\}\]\'\"])', ''), 'phone:')[SAFE_OFFSET(ARRAY_LENGTH(SPLIT(platforminfo, ']')) - 1)] end
然而,这个查询不足以解析数据,如果你能在这个案例上帮助我,将会很有帮助。谢谢
【问题讨论】:
标签: sql regex split google-bigquery