对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之有容乃大的list(4)
Sep 28 Python
Python 操作文件的基本方法总结
Aug 10 Python
Django shell调试models输出的SQL语句方法
Aug 29 Python
浅谈Python_Openpyxl使用(最全总结)
Sep 05 Python
Python多线程模块Threading用法示例小结
Nov 09 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
Feb 25 Python
Python调用接口合并Excel表代码实例
Mar 31 Python
在ipython notebook中使用argparse方式
Apr 20 Python
Python偏函数Partial function使用方法实例详解
Jun 17 Python
Android Q之气泡弹窗的实现示例
Jun 23 Python
Python爬虫爬取微信朋友圈
Aug 06 Python
Python装饰器的练习题
Nov 23 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获取301跳转URL简单实例
2013/12/16 PHP
php文件扩展名判断及获取文件扩展名的N种方法
2015/09/12 PHP
PHP的APC模块实现上传进度条
2015/10/27 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
thinkPHP模板中函数的使用方法示例
2016/11/30 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
javascript抖动元素的小例子
2013/10/28 Javascript
JS 弹出层 定位至屏幕居中示例
2014/05/21 Javascript
Vuex简单入门
2017/04/19 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
vue.js input框之间赋值方法
2018/08/24 Javascript
Vue实现表格中对数据进行转换、处理的方法
2018/09/06 Javascript
Element-UI中Upload上传文件前端缓存处理示例
2019/02/21 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
浅谈layui 表单元素的选中问题
2019/10/25 Javascript
javascript使用链接跨域下载图片
2019/11/01 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
基于js判断浏览器是否支持webGL
2020/04/18 Javascript
vue使用axios实现excel文件下载的功能
2020/07/16 Javascript
利用 JavaScript 实现并发控制的示例代码
2020/12/31 Javascript
[01:27:30]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
使用Python处理Excel表格的简单方法
2018/06/07 Python
python实现的生成word文档功能示例
2019/08/23 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
Python操作word文档插入图片和表格的实例演示
2020/10/25 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
TecoBuy澳大利亚:在线电子和小工具商店
2020/06/25 全球购物
财政专业求职信范文
2014/02/19 职场文书
发展部经理职责规定
2014/02/22 职场文书
玩手机检讨书1000字
2014/10/20 职场文书
领导欢迎词致辞
2015/01/23 职场文书
目标责任书格式范文
2015/05/11 职场文书
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
2021/05/14 Python
mysql自增长id用完了该怎么办
2022/02/12 MySQL
pytorch实现加载保存查看checkpoint文件
2022/07/15 Python