对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 17 Python
python使用mysql的两种使用方式
Mar 07 Python
Django 浅谈根据配置生成SQL语句的问题
May 29 Python
解决python中使用plot画图,图不显示的问题
Jul 04 Python
Python3中函数参数传递方式实例详解
May 05 Python
Python3.5以上版本lxml导入etree报错的解决方案
Jun 26 Python
django中media媒体路径设置的步骤
Nov 15 Python
利用Tensorflow的队列多线程读取数据方式
Feb 05 Python
python虚拟环境模块venv使用及示例
Mar 04 Python
python中什么是面向对象
Jun 11 Python
python接入支付宝的实例操作
Jul 20 Python
OpenCV Python实现图像指定区域裁剪
Mar 12 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
DOTA2 玩家自创拉野攻略 特色英雄快速成长篇
2020/04/20 DOTA
PHP 程序授权验证开发思路
2009/07/09 PHP
php笔记之:数据类型与常量的使用分析
2013/05/14 PHP
PHP+MySQL实现无极限分类栏目的方法
2015/12/23 PHP
高质量PHP代码的50个实用技巧必备(下)
2016/01/22 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
php实现的rc4加密解密类定义与用法示例
2018/08/16 PHP
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
2012/10/11 Javascript
jQuery 获取兄弟元素的几种不错方法
2014/05/23 Javascript
javascript中基本类型和引用类型的区别分析
2015/05/12 Javascript
javascript实现数组去重的多种方法
2016/03/14 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
2016/03/30 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
Bootstrap前端开发案例二
2016/06/17 Javascript
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
基于JavaScript获取url参数2种方法
2020/04/17 Javascript
python 类详解及简单实例
2017/03/24 Python
详解django.contirb.auth-认证
2018/07/16 Python
Python中Proxypool库的安装与配置
2018/10/19 Python
对python制作自己的数据集实例讲解
2018/12/12 Python
PyQt5实现简易电子词典
2019/06/25 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
2019/09/23 Python
python分布式计算dispy的使用详解
2019/12/22 Python
Python3 获取文件属性的方式(时间、大小等)
2020/03/12 Python
蔻驰英国官网:COACH英国
2020/07/19 全球购物
高校生生产实习自我鉴定
2013/09/21 职场文书
就业自我评价
2014/02/04 职场文书
挖掘机司机岗位职责
2014/02/12 职场文书
责任书范本
2014/08/25 职场文书
诉讼授权委托书
2014/10/15 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
《实心球》教学反思
2016/02/23 职场文书
2019公司管理制度
2019/04/19 职场文书
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python
详解python的异常捕获
2022/03/03 Python