对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 元组(Tuple)操作详解
Mar 11 Python
从零学Python之入门(四)运算
May 27 Python
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
Jun 25 Python
Python机器学习之决策树算法
Dec 22 Python
TensorFlow数据输入的方法示例
Jun 19 Python
python爬取微信公众号文章
Aug 31 Python
python实现爬山算法的思路详解
Apr 09 Python
Python爬虫实现“盗取”微信好友信息的方法分析
Sep 16 Python
在Pytorch中计算自己模型的FLOPs方式
Dec 30 Python
为什么说python适合写爬虫
Jun 11 Python
浅析Python 字符编码与文件处理
Sep 24 Python
Python爬虫+Tkinter制作一个翻译软件的示例
Feb 20 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
屏蔽浏览器缓存另类方法
2006/10/09 PHP
PHP 模拟登陆MSN并获得用户信息
2009/05/16 PHP
php求正负数数组中连续元素最大值示例
2014/04/11 PHP
PHPMailer发送邮件
2016/12/28 PHP
详解php中curl返回false的解决办法
2019/03/18 PHP
jquery里的each使用方法详解
2010/12/22 Javascript
Prototype源码浅析 String部分(三)之HTML字符串处理
2012/01/15 Javascript
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
js文本框输入内容智能提示效果
2015/12/02 Javascript
基于JS实现数字+字母+中文的混合排序方法
2016/06/06 Javascript
Bootstrap table学习笔记(2) 前后端分页模糊查询
2017/05/18 Javascript
AngularJS中filter的使用实例详解
2017/08/25 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
微信小程序实现文字跑马灯效果
2020/05/26 Javascript
VUE 使用中踩过的坑
2018/02/08 Javascript
JavaScript实现百度搜索框效果
2020/03/26 Javascript
jQuery实现form表单序列化转换为json对象功能示例
2018/05/23 jQuery
详解vue-cli3 中跨域解决方案
2019/04/10 Javascript
Angular8引入百度Echarts进行图表分析的实现代码
2019/11/27 Javascript
Jquery $.map使用方法实例详解
2020/09/01 jQuery
javascript实现多边形碰撞检测
2020/10/24 Javascript
使用python调用浏览器并打开一个网址的例子
2014/06/05 Python
python使用fileinput模块实现逐行读取文件的方法
2015/04/29 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
python装饰器练习题及答案
2019/11/01 Python
Python单例模式的四种创建方式实例解析
2020/03/04 Python
英国第一家领先的在线处方眼镜零售商:Glasses Direct
2018/02/23 全球购物
南京迈特望C/C++面试题
2012/07/09 面试题
个人工作总结范文2014
2014/11/07 职场文书
2014年保育员个人工作总结
2014/12/02 职场文书
法学专业求职信范文
2015/03/19 职场文书
浙江省杭州市平均工资标准是多少?
2019/07/09 职场文书
Python提取PDF指定内容并生成新文件
2021/06/09 Python
CPU不支持Windows11系统怎么办
2021/11/21 数码科技