Python 如何从任何字典中都没有的JSON文件中删除无关数据?(HTTP日志)
我还是个新手,正在学习,所以请容忍我 好的,我有HTTP日志(~100k+记录)。我正在尝试将其正确格式化,以供JSON加载函数使用。我知道他们会接受:Python 如何从任何字典中都没有的JSON文件中删除无关数据?(HTTP日志),python,json,Python,Json,我还是个新手,正在学习,所以请容忍我 好的,我有HTTP日志(~100k+记录)。我正在尝试将其正确格式化,以供JSON加载函数使用。我知道他们会接受: [ { "k1":"v1" } { "k2":"v2" } { "k3":"v3" } ] 我的数据当前不在列表中,但如下所示: 2019-11-13T23:50:00Z httplog
[
{ "k1":"v1" }
{ "k2":"v2" }
{ "k3":"v3" }
]
我的数据当前不在列表中,但如下所示:
2019-11-13T23:50:00Z httplog { "k1":"v1", "k2":"v2", "k3":"v3" }
2019-11-13T23:50:00Z httplog { "k4":"v4", "k5":"v5", "k6":"v6" }
.
.
.
等10万条记录
在每行开始使用字典之前,最好的方法是什么来删除额外的信息,这样我就可以将其包装在一个列表中,然后将其传递给JSON load
谢谢大家!!如果我没有提供足够的信息,请告诉我。这是您想要的吗
从io导入StringIO
导入json
log=StringIO(“”)\
2019-11-13T23:50:00Z httplog{“k1”:“v1”、“k2”:“v2”、“k3”:“v3”}
2019-11-13T23:50:00Z httplog{“k4”:“v4”,“k5”:“v5”,“k6”:“v6”}
""")
data=[json.load(l.split('httplog')[-1].strip())用于日志中的l]
而数据
最终是:
[{'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}, {'k4': 'v4', 'k5': 'v5', 'k6': 'v6'}]
或者,如果您不能可靠地拆分“httplog”上的行,但您知道您的数据在第一个“{”之后开始,您可以:
data=[json.load(日志中l的l[l.find('{'):].strip())
是的!这正是我所需要的。我可以在“httplog”上可靠地拆分。太棒了,谢谢你的帮助,我真的很感激