我正在尝试提取一些数据以将数据输入到服务器中。我从 Web API 获取了数据,其中包含很多对我来说都是垃圾的信息。我需要摆脱大量的东西,但我不知道从哪里开始。我需要的数据直到“能力”,然后再次从“名称”:“Contherious”开始。 And here's that link 。我所做的大部分数据处理一直在尝试使用正则表达式搜索来尝试处理此问题,我能想到的唯一搜索是在我需要的名称与我不需要的名称之间进行搜索空格并直接引导至其后的 ID。我只是不清楚如何获取这些名称中的每一个,任何帮助将不胜感激。
我已经尝试过
DMG_DONE_FILE = "rawDmgDoneData.txt"
out = []
with open(DMG_DONE_FILE, 'r') as f:
line = f.readline()
while line:
regex_id = search('^+"name":"\s"+(\w+)+"id":',line)
if regex_id:
out.append(regex_id.group(1))
line = f.readline()
并且我收到错误,因为我通常不知道我在使用正则表达式搜索做什么
import sys
import json
# use urllib to fetch from api
# example here for testing is reading from local file
f=open('file.json','r')
data=f.read()
f.close()
entries = json.loads(data)
现在您有了一个可以轻松寻址的数据结构
例如条目['条目'][0]['名称']
或者使用 jq https://stedolan.github.io/jq/
cat file.json |jq '.entries[]| {name:.name,id:.id,type:.type,itemLevel:.itemLevel,icon:.icon,total:.total,activeTime:.activeTime,activeTimeReduced:.activeTimeReduced}'
我是一名优秀的程序员,十分优秀!