Python - 解析一串字典列表

时间:2016-11-05 00:26:32

标签: python string list dictionary converter

http://pastebin.com/tcpmYiMz

在上面的链接中,我有一个解析网站时收到的数据的示例,以字符串形式。它本质上是一个字典列表,里面有较小的字典。

我希望能够解析这些数据,最好使用JSON。如何将此字符串转换为列表,然后将该列表中的每个字典转换为json?

我尝试使用常规列表解析,但我认为它完全搞乱了词典中的所有逗号。

原始数据组织得不好。它是一个长期运行的字符串,没有制表符或空格。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以这样做:

*.c*, *.h, *.qml

假设您在发布的链接中获得了字符串输入,则添加了列括号,因为其中的数据结构不是有效的Python。然后,您需要使Python布尔正确。您也可以为$ awk '{a[$1]=a[$1]?a[$1] "," $2:$2; c[$1]++} END{for(k in a) print k,"over " c[k] " ports:",a[k]}' file 10.10.10.0/24 over 3 ports: 5800,39690,50112 192.168.1.0/24 over 5 ports: 3306,55982,3308,3312,3316 执行此操作。

答案 1 :(得分:0)

我有一个解决方案,但它凌乱。如果有人有更好的方法,请告诉我,我担心这会因字符串的简单更改而中断。

a = '{"skuAttr"'
    b = d.split(a)
    x=0
    for g in b:
        if x != 0:
            if (g[-1] == ","):
                g = g[:-1]

            print json.loads(('{"skuAttr"' + g))
        x+=1

基本上,它只是将字符串拆分为我发现的第一个字符,然后在最后添加它们,删除逗号(如果有),然后分别加载每个字典。效率低而且没有变化,但它现在可以正常工作