Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从任何字典中都没有的JSON文件中删除无关数据?(HTTP日志)_Python_Json - Fatal编程技术网

Python 如何从任何字典中都没有的JSON文件中删除无关数据?(HTTP日志)

Python 如何从任何字典中都没有的JSON文件中删除无关数据?(HTTP日志),python,json,Python,Json,我还是个新手,正在学习,所以请容忍我 好的,我有HTTP日志(~100k+记录)。我正在尝试将其正确格式化,以供JSON加载函数使用。我知道他们会接受: [ { "k1":"v1" } { "k2":"v2" } { "k3":"v3" } ] 我的数据当前不在列表中,但如下所示: 2019-11-13T23:50:00Z httplog

我还是个新手,正在学习,所以请容忍我

好的,我有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    { "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”上可靠地拆分。太棒了,谢谢你的帮助,我真的很感激