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 相关文章推荐
简单介绍Ruby中的CGI编程
Apr 10 Python
Python实现的十进制小数与二进制小数相互转换功能
Oct 12 Python
python OpenCV学习笔记直方图反向投影的实现
Feb 07 Python
Python做智能家居温湿度报警系统
Sep 25 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
Feb 25 Python
Python+Pyqt实现简单GUI电子时钟
Feb 22 Python
Pycharm+Python+PyQt5使用详解
Sep 25 Python
python中的 zip函数详解及用法举例
Feb 16 Python
Python post请求实现代码实例
Feb 28 Python
Python的logging模块基本用法
Dec 24 Python
Python insert() / append() 用法 Leetcode实战演示
Mar 31 Python
在python中读取和写入CSV文件详情
Jun 28 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查询域名状态whois的类
2006/11/25 PHP
PHP 上传文件大小限制
2009/07/05 PHP
PHP 采集程序原理分析篇
2010/03/05 PHP
使用VisualStudio开发php的图文设置方法
2010/08/21 PHP
Php output buffering缓存及程序缓存深入解析
2013/07/15 PHP
PHP设计模式之观察者模式(Observer)详细介绍和代码实例
2014/04/08 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
2014/04/24 PHP
基于PHP如何把汉字转化为拼音
2015/12/11 PHP
对laravel的session获取与存取方法详解
2019/10/08 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
2020/07/24 PHP
PHP与Web页面的交互示例详解二
2020/08/04 PHP
Yii 实现数据加密和解密
2021/03/09 PHP
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
JSQL 批量图片切换的实现代码
2010/05/05 Javascript
不到30行JS代码实现Excel表格的方法
2014/11/15 Javascript
jquery增加和删除元素的方法
2015/01/14 Javascript
jQuery遍历DOM节点操作之filter()方法详解
2016/04/14 Javascript
Vue 组件间的样式冲突污染
2017/08/31 Javascript
vue+iview实现分页及查询功能
2020/11/17 Vue.js
Element-ui 自带的两种远程搜索(模糊查询)用法讲解
2021/01/29 Javascript
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
python使用原始套接字发送二层包(链路层帧)的方法
2019/07/22 Python
python3 requests库文件上传与下载实现详解
2019/08/22 Python
python 遍历pd.Series的index和value
2019/11/26 Python
Python无头爬虫下载文件的实现
2020/04/02 Python
如何基于pandas读取csv后合并两个股票
2020/09/25 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
集世界奢侈品和设计师品牌的意大利精品买手店:Tessabit
2019/08/17 全球购物
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
请解释在new与override的区别
2012/10/29 面试题
党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
团组织推荐意见
2015/06/05 职场文书
用基于python的appium爬取b站直播消费记录
2021/04/17 Python
Python编解码问题及文本文件处理方法详解
2021/06/20 Python
oracle重置序列从0开始递增1
2022/02/28 Oracle
MySQL的InnoDB存储引擎的数据页结构详解
2022/03/03 MySQL