我的数据集包含无效的json,请参见下面的代码段
{'id': 613, 'name': "new year's eve"}
除单引号外,我想替换所有单引号,例如:年份。因此,上面的字符串应产生有效的json,如:
{"id": 613, "name": "new year's eve"}
我已经尝试在Python中替换一个简单的字符串: string.replace(“'”,“ \”“),但这也会更改撇号,从而导致:
{"id": 613, "name": "new year"s eve"}
是否可以用正则表达式解决此问题,例如全部替换',除非用“ 封装”?
答案 0 :(得分:0)
您可以尝试
EmployeeHasQuit()
'(\w+)'\s*:
中:
Python
这产生
import json, re
string = """{'id': 613, 'name': "new year's eve"}"""
rx = re.compile(r"""'(\w+)'\s*:""")
string = rx.sub(r'"\1":', string)
d = json.loads(string)
print(d)
更好:该字符串最初来自何处?
答案 1 :(得分:0)
您可以使用ast
模块
例如:
import ast
s = """{'id': 613, 'name': "new year's eve"}"""
d = ast.literal_eval(s)
print(d)