概述
[ {u'IP': u'aaaa1',u'Domain': u'bbbb1',u'Time': u'cccc1',..... },{u'IP': u'aaaa2',u'Domain': u'bbbb2',u'Time': u'cccc2',{u'IP': u'aaaa3',u'Domain': u'bbbb3',u'Time': u'cccc3',{u'IP': u'aaaa4',u'Domain': u'bbbb4',u'Time': u'cccc4',{ ....... },{ ....... } ]
我用的时候:
ipython import pasdas as pd data = pd.read_json('./access.json')
它返回:
ValueError: Expected object or value
这就是我想要的结果:
[out] IP Domain Time ... 0 aaaa1 bbbb1 cccc1 ... 1 aaaa2 bbbb2 cccc2 ... 2 aaaa3 bbbb3 cccc3 ... 3 aaaa4 bbbb4 cccc4 ... ...and so on
我该怎样做才能实现这个目标?谢谢你的答案!
{u'IP': u'aaaa1',
应该
{"IP": "aaaa1","Domain": "bbbb1","Time": "cccc1",
您可以使用正则表达式粉碎此(整个文件)以查找这些内容,例如:
In [11]: line Out[11]: "{u'IP': u'aaaa1',u'Time': u'cccc1'}," In [12]: re.sub("(?<=[\{,])u'|'(?=[:,\}])",'"',line) Out[12]: '{"IP": "aaaa1","Time": "cccc1"},'
注意:这会被某些字符串绊倒,因此请谨慎使用.
一个更好的“解决方案”是确保你首先拥有有效的json ……看起来这来自python的str / unicode / repr而不是json.dumps.
注意:json.dumps生成有效的json,因此可以通过read_json读取.
In [21]: repr({u'IP': u'aaa'}) Out[21]: "{u'IP': u'aaa'}" In [22]: json.dumps({u'IP': u'aaa'}) Out[22]: '{"IP": "aaa"}'
如果有人创造了这个“json”,那就抱怨!这不是json.
总结
以上是编程之家为你收集整理的python – 如何将这个json格式转换为可以使用的正确格式pandas read_json()全部内容,希望文章能够帮你解决python – 如何将这个json格式转换为可以使用的正确格式pandas read_json()所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧