对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 时间处理datetime实例
Sep 06 Python
Python深入学习之对象的属性
Aug 31 Python
Python批量重命名同一文件夹下文件的方法
May 25 Python
Python实现替换文件中指定内容的方法
Mar 19 Python
Python实现在某个数组中查找一个值的算法示例
Jun 27 Python
Python 20行简单实现有道在线翻译的详解
May 15 Python
10 行Python 代码实现 AI 目标检测技术【推荐】
Jun 14 Python
python中的句柄操作的方法示例
Jun 20 Python
pandas 使用均值填充缺失值列的小技巧分享
Jul 04 Python
关于python导入模块import与常见的模块详解
Aug 28 Python
Python xlrd excel文件操作代码实例
Mar 10 Python
Python类及获取对象属性方法解析
Jun 15 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 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
2013/09/28 PHP
php断点续传之文件分割合并详解
2016/12/13 PHP
基于PHP-FPM进程池探秘
2017/10/17 PHP
为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
2009/11/24 Javascript
JavaScript去掉空格的方法集合
2010/12/28 Javascript
jQuery操作 input type=checkbox的实现代码
2012/06/14 Javascript
javascript 使用 NodeList需要注意的问题
2013/03/04 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
JS循环遍历JSON数据的方法
2014/07/08 Javascript
js和jquery设置disabled属性为true使按钮失效
2014/08/07 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
js对象的复制继承实例
2015/01/10 Javascript
js实现延迟加载的方法
2015/06/24 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
简单实现js轮播图效果
2017/07/14 Javascript
浅谈Vue父子组件和非父子组件传值问题
2017/08/22 Javascript
vue两个组件间值的传递或修改方式
2018/07/04 Javascript
vue cli3 配置proxy代理无效的解决
2019/10/30 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
一个检测OpenSSL心脏出血漏洞的Python脚本分享
2014/04/10 Python
详解Python字典小结
2018/10/20 Python
python 画三维图像 曲面图和散点图的示例
2018/12/29 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
MATLAB数学建模之画图汇总
2020/07/16 Python
python中Django文件上传方法详解
2020/08/05 Python
Vero Moda西班牙官方购物网站:丹麦BESTSELLER旗下知名女装品牌
2018/04/27 全球购物
业务经理的岗位职责
2013/11/16 职场文书
欢迎领导检查标语
2014/06/27 职场文书
党政领导班子群众路线对照检查材料思想汇报
2014/09/27 职场文书
2014教师年度思想工作总结
2014/11/10 职场文书
2014年幼儿园老师工作总结
2014/12/05 职场文书
Apache压力测试工具的安装使用
2021/03/31 Servers
Python还能这么玩之用Python修改了班花的开机密码
2021/06/04 Python
Python自动化爬取天眼查数据的实现
2021/06/15 Python
《模拟人生4》推出新补丁 “婚礼奇缘”DLC终于得到修复
2022/04/03 其他游戏