您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 如何将这个json格式转换为可以使用的正确格式pandas read_json()

5b51 2022/1/14 8:22:23 python 字数 2618 阅读 538 来源 www.jb51.cc/python

这是第一次使用stackoverflow来提问.我的英语很差,所以如果我不经意地用言语表达你的意思,请不要介意. 我有一个json文件(access.json),格式如下: [ {u'IP': u'aaaa1', u'Domain': u'bbbb1', u'Time': u'cccc1', ..... }, {u'IP': u'aaaa2', u'Domain': u'bbbb2', u'Tim

概述

我有一个json文件(access.json),格式如下:

[
{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()所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶