我正在尝试提取一些数据以将数据输入服务器。我已经从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)


现在您有了一个可以轻松处理的数据结构

例如条目['entries'] [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}'

关于python - 有没有办法通过正则表达式搜索快速消除大量多余数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55737966/

10-12 15:04
查看更多