pandas.DataFrame.to_json按行转json的方法


Posted in Python onJune 05, 2018

最近需要将csv文件转成DataFrame并以json的形式展示到前台,故需要用到Dataframe的to_json方法

to_json方法默认以列名为键,列内容为值,形成{col1:[v11,v21,v31…],col2:[v12,v22,v32],…}这种格式,但有时我们需要按行来转为json,形如这种格式[row1:{col1:v11,col2:v12,col3:v13…},row2:{col1:v21,col2:v22,col3:v23…}]

通过查找官网我们可以看到to_json方法有一个参数为orient,其参数说明如下:

orient : string 
Series 
default is ‘index' 
allowed values are: {‘split','records','index'} 
DataFrame 
default is ‘columns' 
allowed values are: {‘split','records','index','columns','values'} 
The format of the JSON string 
split : dict like {index -> [index], columns -> [columns], data -> [values]} 
records : list like [{column -> value}, … , {column -> value}] 
index : dict like {index -> {column -> value}} 
columns : dict like {column -> {index -> value}} 
values : just the values array 
table : dict like {‘schema': {schema}, ‘data': {data}} describing the data, and the data component is like orient='records'. 
Changed in version 0.20.0

大致意思为:

如果是Series转json,默认的orient是'index',orient可选参数有 {‘split','records','index'}

如果是DataFrame转json,默认的orient是'columns',orient可选参数有 {‘split','records','index','columns','values'}

json的格式如下

split,样式为 {index -> [index], columns -> [columns], data -> [values]}

records,样式为[{column -> value}, … , {column -> value}]

index ,样式为 {index -> {column -> value}}

columns,样式为 {index -> {column -> value}}

values,数组样式

table,样式为{‘schema': {schema}, ‘data': {data}},和records类似

看一下官网给的demo

df = pd.DataFrame([['a', 'b'], ['c', 'd']],
  index=['row 1', 'row 2'],
  columns=['col 1', 'col 2'])
###########
split
###########
df.to_json(orient='split')
>'{"columns":["col 1","col 2"],
 "index":["row 1","row 2"],
 "data":[["a","b"],["c","d"]]}'
###########
index
###########
df.to_json(orient='index')
>'{"row 1":{"col 1":"a","col 2":"b"},"row 2":{"col 1":"c","col 2":"d"}}'
###########
records
###########
df.to_json(orient='index')
>'[{"col 1":"a","col 2":"b"},{"col 1":"c","col 2":"d"}]'
###########
table
###########
df.to_json(orient='table')
>'{"schema": {"fields": [{"name": "index", "type": "string"},
  {"name": "col 1", "type": "string"},
  {"name": "col 2", "type": "string"}],
 "primaryKey": "index",
 "pandas_version": "0.20.0"},
 "data": [{"index": "row 1", "col 1": "a", "col 2": "b"},
 {"index": "row 2", "col 1": "c", "col 2": "d"}]}'

主要参考官网API:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_json.html

以上这篇pandas.DataFrame.to_json按行转json的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python下使用Txt2Html实现网页过滤代理的教程
Apr 11 Python
Python清空文件并替换内容的实例
Oct 22 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
Apr 11 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
Sep 04 Python
python 矢量数据转栅格数据代码实例
Sep 30 Python
python实现在多维数组中挑选符合条件的全部元素
Nov 26 Python
python字典和json.dumps()的遇到的坑分析
Mar 11 Python
python实现处理mysql结果输出方式
Apr 09 Python
python判断是空的实例分享
Jul 06 Python
彻底搞懂python 迭代器和生成器
Sep 07 Python
python 使用csv模块读写csv格式文件的示例
Dec 02 Python
教你怎么用Python生成九宫格照片
May 20 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
Jun 05 #Python
Python实现迭代时使用索引的方法示例
Jun 05 #Python
Numpy 将二维图像矩阵转换为一维向量的方法
Jun 05 #Python
django反向解析和正向解析的方式
Jun 05 #Python
Python numpy实现二维数组和一维数组拼接的方法
Jun 05 #Python
Python实现字典(dict)的迭代操作示例
Jun 05 #Python
python矩阵转换为一维数组的实例
Jun 05 #Python
You might like
PHP导航下拉菜单的实现如此简单
2013/09/22 PHP
php实现zip文件解压操作
2015/11/03 PHP
jQuery .tmpl(), .template()学习资料小结
2011/07/18 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
js从10种颜色中随机取色实现每次取出不同的颜色
2013/10/23 Javascript
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
利用jQuary实现文字浮动提示效果示例代码
2013/12/26 Javascript
jquery 新建的元素事件绑定问题解决方案
2014/06/12 Javascript
jQuery 和 CSS 的文本特效插件集锦
2014/12/12 Javascript
JS实现设置ff与ie元素绝对位置的方法
2016/03/08 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
2016/03/30 Javascript
详解springmvc 接收json对象的两种方式
2016/12/06 Javascript
Node.js环境下Koa2添加travis ci持续集成工具的方法
2017/06/19 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
JS排序算法之希尔排序与快速排序实现方法
2017/12/12 Javascript
vue操作动画的记录animate.css实例代码
2019/04/26 Javascript
Vue的属性、方法、生命周期实例代码详解
2019/09/17 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
2020/02/04 jQuery
解决Vue中的生命周期beforeDestory不触发的问题
2020/07/21 Javascript
python抓取网页图片并放到指定文件夹
2014/04/24 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
2018/12/10 Python
python自定义线程池控制线程数量的示例
2019/02/22 Python
django认证系统 Authentication使用详解
2019/07/22 Python
在OpenCV里使用Camshift算法的实现
2019/11/22 Python
python飞机大战pygame游戏框架搭建操作详解
2019/12/17 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
用python写爬虫简单吗
2020/07/28 Python
俄罗斯三星品牌商店:GalaxyStore
2020/11/04 全球购物
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
简历中自我评价怎么写
2014/02/12 职场文书
销售员求职个人的自我评价
2014/02/19 职场文书
家长给学校的建议书
2014/05/15 职场文书
中标通知书
2015/04/17 职场文书
2015年设计师个人工作总结
2015/04/25 职场文书
Pytorch GPU内存占用很高,但是利用率很低如何解决
2021/06/01 Python
Java中多线程下载图片并压缩能提高效率吗
2021/07/01 Java/Android