我无法解析 Psycopg2 返回的嵌套数组。我正在处理的数据库返回可以将嵌套数组作为值的记录。Psycopg 只解析这些值的外部数组。
我的第一种方法是将字符串拆分为逗号,但后来我遇到了一个问题,有时结果中的字符串也包含逗号,这使得整个方法无法使用。我的下一次尝试是使用正则表达式在字符串中查找“组件”,但后来我注意到我无法检测到数字(因为数字也可以出现在字符串中)。
目前,这是我的代码:
import re
text = '{2f5e5fef-1e8c-43a2-9a11-3a39b2cbb45e,"Marc, Dirk en Koen",398547,85.5,-9.2, 62fe6393-00f7-418d-b0b3-7116f6d5cf10}'
r = re.compile('\".*?\"|[\w]{8}-[\w]{4}-[\w]{4}-[\w]{4}-[\w]{12}|^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$')
result = r.search(text)
if result:
result = result.groups()
结果应该是:
['2f5e5fef-1e8c-43a2-9a11-3a39b2cbb45e', 'Marc, Dirk en Koen', 398547, 85.5, -9.2, '62fe6393-00f7-418d-b0b3-7116f6d5cf10']
由于我希望此功能具有通用性,因此我无法确定参数的顺序。我只知道支持的类型是字符串、uuid、(有符号)整数和(有符号)小数。
我使用了错误的方法吗?或者谁能指出我正确的方向?
提前致谢!