猿问

使用键作为数字处理特殊的 JSON

我想通过 将文件中的数据提取到字典中json.loads。例子:


{725: 'pitcher, ewer',

726: "plane, carpenter's plane, woodworking plane"}

json.loads 无法将键作为数字处理

一些值为“”,另一些值为 '。

有什么建议?


代码


import requests


url = url

r = requests.get(url)

response = r.text.replace('\n','')

response = re.sub(r':(\d+):*', r'"\1"', response)


莫回无
浏览 177回答 1
1回答

白衣非少年

您提供的文件似乎是一个有效的 Python dict,因此我建议使用另一种方法,使用literal_eval.from ast import literal_evaldata = literal_eval(r.text)print(data[726])输出: plane, carpenter's plane, woodworking plane如果您仍然喜欢json,那么您可以尝试使用正则表达式用字符串替换数字。import res = re.sub(r"(?m)^(\W*)(\d+)\b", r'\1"\2"', r.text)data = json.loads(s)
随时随地看视频慕课网APP

相关分类

Python
我要回答