gpt4 book ai didi

python - 将嵌套的花括号变成 dict python

转载 作者:太空宇宙 更新时间:2023-11-03 15:03:48 25 4
gpt4 key购买 nike

我有一个看起来像这样的文件:

{val1 {val2 {d1 d2 d3}}}

我想制作一个 dict 或其他合适的数据结构,以便像这样访问结构:

data[val1][val2]

将输出数据值 d1, d2, d3 到另一个合适的数据结构,例如列表、元组或集合。

是否有一个内置的库函数可以做到这一点,或者任何人都可以建议一种简单的方法来做到这一点?

注意:数据点的数量 d1 d2 d3 可能不是常量,所以对于一组不同的值,我可以有 d1 d2 d3 d4 d5 等。

编辑:我应该补充一点,我写了输出,所以如果需要的话,我可以把大括号改成完全不同的东西。

最佳答案

如果您的所有数据都像示例一样简单,您可以进行一些字符串操作以将其转换为 json。

import re, json
data = '{val1 {val2 {d1 d2 d3}}}'
data = re.sub(r'(\w+)', r'"\1"', data) # {"val1" {"val2" {"d1" "d2" "d3"}}}
data = re.sub(r'"\s*{', r'": {', data) # {"val1": {"val2": {"d1" "d2" "d3"}}}
data = re.sub(r'" "', r'", "', data) # {"val1": {"val2": {"d1", "d2", "d3"}}}
data = re.sub(r'{([^{}]*)}', r'[\1]', data) # {"val1": {"val2": ["d1", "d2", "d3"]}}
json.loads(data)

如果您还有嵌套更复杂的数据,您可能需要再添加一两步来添加或删除逗号,然后才能成为有效的 json。

关于python - 将嵌套的花括号变成 dict python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35155425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com