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程序的方法
Apr 21 Python
用Python编写分析Python程序性能的工具的教程
Apr 01 Python
浅析Python多线程下的变量问题
Apr 28 Python
解决python3 urllib中urlopen报错的问题
Mar 25 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
Oct 07 Python
Python实现的三层BP神经网络算法示例
Feb 07 Python
Python除法之传统除法、Floor除法及真除法实例详解
May 23 Python
用Python实现将一张图片分成9宫格的示例
Jul 05 Python
Python基础之高级变量类型实例详解
Jan 03 Python
python解析xml文件方式(解析、更新、写入)
Mar 05 Python
python怎么删除缓存文件
Jul 19 Python
python 实现图片修复(可用于去水印)
Nov 19 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
日本十大惊悚动漫
2020/03/04 日漫
PHP 八种基本的数据类型小结
2011/06/01 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
jQuery 行级解析读取XML文件(附源码)
2009/10/12 Javascript
validator验证控件使用代码
2010/11/23 Javascript
基于jquery可配置循环左右滚动例子
2011/09/09 Javascript
ajax java 实现自动完成功能
2012/12/19 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
2015/01/09 Javascript
SpringMVC restful 注解之@RequestBody进行json与object转换
2015/12/10 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
2017/06/20 Javascript
实例分析js事件循环机制
2017/12/13 Javascript
微信小程序实现图片预览功能
2018/01/31 Javascript
vue element-ui 绑定@keyup事件无效的解决方法
2018/03/09 Javascript
详解微信小程序之scroll-view的flex布局问题
2019/01/16 Javascript
JavaScript递归函数定义与用法实例分析
2019/01/24 Javascript
JavaScript遍历DOM元素的常见方式示例
2019/02/16 Javascript
webgl实现物体描边效果的方法介绍
2019/11/27 Javascript
通过实例解析JavaScript常用排序算法
2020/09/02 Javascript
[02:30]DOTA2英雄基础教程 暗影恶魔
2013/12/17 DOTA
Python 使用多属性来进行排序
2019/09/01 Python
python使用openCV遍历文件夹里所有视频文件并保存成图片
2020/01/14 Python
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
德国BA保镖药房韩文网:kr.ba.de
2017/09/04 全球购物
印度尼西亚最大和最全面的网络商城:Blibli.com
2017/10/04 全球购物
澳大利亚最好的厨具店:Kitchen Warehouse
2018/03/13 全球购物
阿里巴巴美国:Alibaba美国
2019/11/24 全球购物
斯洛伐克最大的婴儿食品和用品网上商店:Feedo.sk
2020/12/21 全球购物
比较一下entity bean和session bean
2013/12/27 面试题
国际商务专业学生个人的自我评价
2013/09/28 职场文书
医科大学生的自我评价
2013/12/04 职场文书
群众路线党员个人剖析材料
2014/10/08 职场文书
2015年后勤工作总结范文
2015/04/08 职场文书
vue-element-admin项目导入和导出的实现
2021/05/21 Vue.js
python爬取网页版QQ空间,生成各类图表
2021/06/02 Python