为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

莫回无 2021-10-19 10:48:06
我想通过 将文件中的数据提取到字典中json.loads。例子:{725: 'pitcher, ewer',726: "plane, carpenter's plane, woodworking plane"}json.loads 无法将键作为数字处理一些值为“”,另一些值为 '。有什么建议?代码import requestsurl = urlr = requests.get(url)response = r.text.replace('\n','')response = re.sub(r':(\d+):*', r'"\1"', response)
查看完整描述

1 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

您提供的文件似乎是一个有效的 Python dict,因此我建议使用另一种方法,使用literal_eval.


from ast import literal_eval


data = literal_eval(r.text)

print(data[726])

输出: plane, carpenter's plane, woodworking plane


如果您仍然喜欢json,那么您可以尝试使用正则表达式用字符串替换数字。


import re


s = re.sub(r"(?m)^(\W*)(\d+)\b", r'\1"\2"', r.text)

data = json.loads(s)


查看完整回答
反对 回复 2021-10-19
  • 1 回答
  • 0 关注
  • 166 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信