【问题标题】:Python JSON "column1=value1;column2=value2" to {"column1":"value1","column2":"value2"}Python JSON "column1=value1;column2=value2" 到 {"column1":"value1","column2":"value2"}
【发布时间】:2017-02-25 11:43:04
【问题描述】:

一个非常基本的要求。 我想从这种格式转换:

"column1=value1;column2=value2" 

转成这种格式(JSON):

{"column1":"value1","column2":"value2"}

任何最好的 Python 方法都将不胜感激。

提前致谢。

【问题讨论】:

    标签: python json text


    【解决方案1】:

    使用正则表达式

    import re
    
    REGEX = r"([^=;]+)=([^=;]+)"
    finder = re.compile(REGEX)
    
    s = "column1=value1;column2=value2"
    
    matches = re.finditer(finder, s)
    
    d = {}
    for match in matches:
        key = match.group(1)
        val = match.group(2)
        d[key] = val
    
    print(d)
    

    输出:

    {'column2': 'value2', 'column1': 'value1'}
    

    【讨论】:

      【解决方案2】:

      如果你真的想将你的字符串解析为 JSON,你应该尝试这样的事情:

      import json # simplejson if you use a python version below 2.6 
      
      string = u'{"column1":"value1", "column2": "value2"}'
      json = json.loads(string)
      

      如果你想把你的字符串解析成字典,你应该试试 ast:

      import ast
      
      string = u'{"column1":"value1", "column2": "value2"}'
      ast.literal_eval(string)=>{'column1': 'value1', 'column2': 'value2'}
      

      【讨论】:

      • 这个问题怎么回答?
      猜你喜欢
      • 2012-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-17
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      相关资源
      最近更新 更多