对pandas处理json数据的方法详解


Posted in Python onFebruary 08, 2019

今天展示一个利用pandas将json数据导入excel例子,主要利用的是pandas里的read_json函数将json数据转化为dataframe。

先拿出我要处理的json字符串:

strtext='[{"ttery":"min","issue":"20130801-3391","code":"8,4,5,2,9","code1":"297734529","code2":null,"time":1013395466000},\
{"ttery":"min","issue":"20130801-3390","code":"7,8,2,1,2","code1":"298058212","code2":null,"time":1013395406000},\
{"ttery":"min","issue":"20130801-3389","code":"5,9,1,2,9","code1":"298329129","code2":null,"time":1013395346000},\
{"ttery":"min","issue":"20130801-3388","code":"3,8,7,3,3","code1":"298588733","code2":null,"time":1013395286000},\
{"ttery":"min","issue":"20130801-3387","code":"0,8,5,2,7","code1":"298818527","code2":null,"time":1013395226000}]'

pandas.read_json的语法如下:

pandas.read_json(path_or_buf=None, orient=None, typ='frame', dtype=True, 
convert_axes=True, convert_dates=True, keep_default_dates=True, 
numpy=False, precise_float=False, date_unit=None, encoding=None, 
lines=False, chunksize=None, compression='infer')

第一参数就是json文件路径或者json格式的字符串。

第二参数orient是表明预期的json字符串格式。orient的设置有以下几个值:

(1).'split' : dict like {index -> [index], columns -> [columns], data -> [values]}

这种就是有索引,有列字段,和数据矩阵构成的json格式。key名称只能是index,columns和data。

对pandas处理json数据的方法详解

'records' : list like [{column -> value}, ... , {column -> value}]

这种就是成员为字典的列表。如我今天要处理的json数据示例所见。构成是列字段为键,值为键值,每一个字典成员就构成了dataframe的一行数据。

'index' : dict like {index -> {column -> value}}

以索引为key,以列字段构成的字典为键值。如:

对pandas处理json数据的方法详解

'columns' : dict like {column -> {index -> value}}

这种处理的就是以列为键,对应一个值字典的对象。这个字典对象以索引为键,以值为键值构成的json字符串。如下图所示:

对pandas处理json数据的方法详解

'values' : just the values array。

values这种我们就很常见了。就是一个嵌套的列表。里面的成员也是列表,2层的。

对pandas处理json数据的方法详解

主要就说下这两个参数吧。下面我们回到示例中来。我们看前面可以发现示例是一个orient为records的json字符串。

这样就好处理了。看代码:

# -*- coding: utf-8 -*-
"""
Created on Sun Aug 5 09:01:38 2018
@author: FanXiaoLei
"""
import pandas as pd
strtext='[{"ttery":"min","issue":"20130801-3391","code":"8,4,5,2,9","code1":"297734529","code2":null,"time":1013395466000},\
{"ttery":"min","issue":"20130801-3390","code":"7,8,2,1,2","code1":"298058212","code2":null,"time":1013395406000},\
{"ttery":"min","issue":"20130801-3389","code":"5,9,1,2,9","code1":"298329129","code2":null,"time":1013395346000},\
{"ttery":"min","issue":"20130801-3388","code":"3,8,7,3,3","code1":"298588733","code2":null,"time":1013395286000},\
{"ttery":"min","issue":"20130801-3387","code":"0,8,5,2,7","code1":"298818527","code2":null,"time":1013395226000}]'
 
df=pd.read_json(strtext,orient='records')
df.to_excel('pandas处理json.xlsx',index=False,columns=["ttery","issue","code","code1","code2","time"])

最终写入excel如下图:

对pandas处理json数据的方法详解

以上这篇pandas处理json数据就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python字符串连接方式汇总
Aug 21 Python
在Python的列表中利用remove()方法删除元素的教程
May 21 Python
Python 关于反射和类的特殊成员方法
Sep 14 Python
python3 爬取图片的实例代码
Nov 06 Python
启动Atom并运行python文件的步骤
Nov 09 Python
python 监听salt job状态,并任务数据推送到redis中的方法
Jan 14 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
Aug 17 Python
Python统计时间内的并发数代码实例
Dec 28 Python
用 Python 制作地球仪的方法
Apr 24 Python
用python发送微信消息
Dec 21 Python
python利用appium实现手机APP自动化的示例
Jan 26 Python
Python利用zhdate模块实现农历日期处理
Mar 31 Python
对python读取zip压缩文件里面的csv数据实例详解
Feb 08 #Python
利用python在excel里面直接使用sql函数的方法
Feb 08 #Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
Feb 08 #Python
pandas dataframe添加表格框线输出的方法
Feb 08 #Python
python读取有密码的zip压缩文件实例
Feb 08 #Python
对python判断是否回文数的实例详解
Feb 08 #Python
用Python解决x的n次方问题
Feb 08 #Python
You might like
PHP新手上路(八)
2006/10/09 PHP
php 获取百度的热词数据的代码
2012/02/18 PHP
php ctype函数中文翻译和示例
2014/03/21 PHP
yii中widget的用法
2014/12/03 PHP
discuz目录文件资料汇总
2014/12/30 PHP
php 使用curl模拟登录人人(校内)网的简单实例
2016/06/06 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
2017/02/17 PHP
PHP中命名空间的使用例子
2019/03/22 PHP
爱恋千雪-US-AscII加密解密工具(网页加密)下载
2007/06/06 Javascript
jQuery $.each的用法说明
2010/03/22 Javascript
jQuery语法总结和注意事项小结
2012/11/11 Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
2013/10/24 Javascript
JQuery实现当鼠标停留在某区域3秒后自动执行
2014/09/09 Javascript
javascript模拟实现ajax加载框实例
2014/10/15 Javascript
JavaScript调试工具汇总
2014/12/23 Javascript
Bootstrap 附加导航(Affix)插件实例详解
2016/06/01 Javascript
jquery结合html实现中英文页面切换
2016/11/29 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
关于layui表单中按钮自动提交的解决方法
2019/09/09 Javascript
javascript+Canvas实现画板功能
2020/06/23 Javascript
[02:25]DOTA2英雄基础教程 虚空假面
2014/01/02 DOTA
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
Python读大数据txt
2016/03/28 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
Python如何测试stdout输出
2020/08/10 Python
美国床垫和床上用品公司:Nest Bedding
2017/06/12 全球购物
英国领先的维生素和补充剂品牌:Higher Nature
2019/08/26 全球购物
农村改厕实施方案
2014/03/22 职场文书
访谈节目策划方案
2014/05/15 职场文书
镇党委书记群众路线整改措施思想汇报
2014/10/13 职场文书
党员自我评价2015
2015/03/03 职场文书
2015民办小学年度工作总结
2015/05/26 职场文书
孝女彩金观后感
2015/06/10 职场文书
2015中学政教处工作总结
2015/07/22 职场文书
Python软件包安装的三种常见方法
2022/07/07 Python