用JSON格式化Python列表

2024-05-18 14:49:42 发布

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

我是Python的新手,尝试将Excel文件中的信息转换为JSON输出

我正在尝试解析这个Python列表:

value = ['Position: Backstab, Gouge,', 'SumPosition: DoubleParse, Pineapple']

转换为JSON格式:

"value": [
      {
        "Position": [
          "Backstab, Gouge,"
        ]
      },
      {
        "SumPosition": [
          "DoubleParse, Pineapple"
        ]
      }
    ]

请注意:

此列表以前是一个字符串:

value = 'Position: Backstab, Gouge, SumPosition: DoubleParse, Pineapple'

我使用re.split()将其转换为一个列表

我已经使用re.split将字符串转换为列表,但是仍然无法将字符串的内部转换为dict,也无法将dict中的值转换为列表

这有可能吗?是用JSON格式化list/string还是预先准备好string本身以便它可以接收JSON.dump方法

提前谢谢


Tags: 字符串rejson列表stringvaluepositiondict
2条回答

这是一条捷径

value = ['Position: Backstab, Gouge,',
         'SumPosition: DoubleParse, Pineapple']

dictionary_result = {}
for line in value:
    key, vals = line.split(':')
    vals = vals.split(',')
    dictionary_result[key] = vals

剩下的任务是:从结果列表(如[' Backstab', ' Gouge', ''])中删除空字符串,并实际将数据从Python dict转换为JSON文件

您可以迭代列表以获得所需的结果

d = {'value': []}
for val in value:
    k, v = val.split(':')
    tmp = {k.strip() : [v.strip()]}
    d['value'].append(tmp)

print(d)

{'value': [{'Position': ['Backstab, Gouge,']},
  {'SumPosition': ['DoubleParse, Pineapple']}]}

相关问题 更多 >

    热门问题