对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中文编码那些事
Jun 25 Python
简单介绍Python中的几种数据类型
Jan 02 Python
pandas object格式转float64格式的方法
Apr 10 Python
Python实现爬虫从网络上下载文档的实例代码
Jun 13 Python
python学生管理系统学习笔记
Mar 19 Python
Python实现的爬取小说爬虫功能示例
Mar 30 Python
用python写测试数据文件过程解析
Sep 25 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
May 22 Python
Python如何将字符串转换为日期
Jul 31 Python
python安装sklearn模块的方法详解
Nov 28 Python
python中re模块知识点总结
Jan 17 Python
python 用递归实现通用爬虫解析器
Apr 16 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
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
php生成EAN_13标准条形码实例
2013/11/13 PHP
JQuery 应用 JQuery.groupTable.js
2010/12/15 Javascript
从零开始学习jQuery (八) 插播:jQuery实施方案
2011/02/23 Javascript
JS获取几种URL地址的方法小结
2014/02/26 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
js console.log打印对像与数组用法详解
2016/01/21 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
2016/11/21 Javascript
JavaScript字符串对象(string)基本用法示例
2017/01/18 Javascript
jQuery 全选 全不选 事件绑定的实现代码
2017/01/23 Javascript
es6的数字处理的方法(5个)
2017/03/16 Javascript
解决AjaxFileupload 上传时会出现连接重置的问题
2017/07/07 Javascript
layui写后台表格思路和赋值用法详解
2019/11/14 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
在Python中操作字典之fromkeys()方法的使用
2015/05/21 Python
python3+PyQt5+Qt Designer实现扩展对话框
2018/04/20 Python
如何通过python画loss曲线的方法
2019/06/26 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
2019/10/12 Python
python画蝴蝶曲线图的实例
2019/11/21 Python
纯CSS3实现表单验证效果(非常不错)
2017/01/18 HTML / CSS
HTML5仿手机微信聊天界面
2016/03/18 HTML / CSS
html5菜单折纸效果
2014/04/22 HTML / CSS
英国玛莎百货美国官网:Marks & Spencer美国
2018/11/06 全球购物
成都思必达公司C#程序员招聘面试题
2013/06/26 面试题
外贸业务员工作职责
2014/01/06 职场文书
质量承诺书范文
2014/03/27 职场文书
商铺消防安全责任书
2014/07/29 职场文书
党员四风自我剖析材料思想汇报
2014/09/13 职场文书
幼儿园小班教师个人工作总结
2015/02/06 职场文书
商场营业员岗位职责
2015/04/14 职场文书
在校证明模板
2015/06/17 职场文书
化工生产实习心得体会
2016/01/22 职场文书
2016年第二十五次全国助残日活动总结
2016/04/01 职场文书
i7 6700处理器相当于i5几代
2022/04/19 数码科技
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技