Python:字符串[[k1:v1,k2:v2],[k3:v3]]到对象

2024-09-29 17:18:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我被一个输出以下内容的应用程序困住了

[[_type:logs, _id:AVY0ofxOHiyEPsw_vkZS, _index:firewall-all-2016.07.29, _score:13.445344], [_type:logs, _id:AVY1EI1z79siNC3TEi7P, _index:firewall-all-2016.07.29, _score:13.445344]]

我想把这个文本解析成一个iterable对象。但是使用ast.literal_eval的标准方法不喜欢输入。你知道吗

在我开始调查之前还有什么我可以尝试的吗。。。你知道吗

谢谢


Tags: 对象文本id应用程序indextypeallast
1条回答
网友
1楼 · 发布于 2024-09-29 17:18:26

这个怎么样:

import re

data = "[[_type:logs, _id:AVY0ofxOHiyEPsw_vkZS, _index:firewall-all-2016.07.29, _score:13.445344], [_type:logs, _id:AVY1EI1z79siNC3TEi7P, _index:firewall-all-2016.07.29, _score:13.445344]]"

parsed_1 = re.findall("\[(.*?)\]", data[1:-1])

parsed_list = []
for line in parsed_1:
    parsed_dict = {}
    for record in line.split(","):
        k, v = record.split(":")
        parsed_dict[k] = v
    parsed_list.append(parsed_dict)

print(parsed_list)

输出是字典列表,您可以通过多种方式对其进行编辑。你知道吗

相关问题 更多 >

    热门问题