【发布时间】:2017-02-25 11:43:04
【问题描述】:
一个非常基本的要求。 我想从这种格式转换:
"column1=value1;column2=value2"
转成这种格式(JSON):
{"column1":"value1","column2":"value2"}
任何最好的 Python 方法都将不胜感激。
提前致谢。
【问题讨论】:
一个非常基本的要求。 我想从这种格式转换:
"column1=value1;column2=value2"
转成这种格式(JSON):
{"column1":"value1","column2":"value2"}
任何最好的 Python 方法都将不胜感激。
提前致谢。
【问题讨论】:
使用正则表达式
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'}
【讨论】:
如果你真的想将你的字符串解析为 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'}
【讨论】: