说明

通常在得到了 DataFrame 之后,有时候我们需要将它转为一个json 字符串(dict字典),可以使用 to_json(to_dict)来完成。
转换时,可以通过指定参数 orient 来输出不同格式的格式,之后以下几个参数:

ps: to_json时,中文\uXXXX, 解决方法force_ascii=False

参数 结构
split {index:[索引], colums:[索引],data:[[行数据]]}
records [{列:值}…,{列:值}]
index {索引:{列:值}}
columns {列:{索引:值}} 注意:to_dict没有这个参数
values 只是数据值 注意:to_dict没有这个参数

例子

数据

  1. import numpy as np
  2. import pandas as pd
  3. from pandas import Series,DataFrame
  4. data=DataFrame(np.arange(12).reshape((3,4)),index=pd.Index(['street1','street2','street3']),
  5. columns=pd.Index(['store1','store2','store3','store4']))
  6. print(data)
  7. ================================
  8. store1 store2 store3 store4
  9. street1 0 1 2 3
  10. street2 4 5 6 7
  11. street3 8 9 10 11
  1. // split
  2. data.to_json(orient='split')
  3. ===========================
  4. {'index': ['street1', 'street2', 'street3'], 'columns': ['store1', 'store2', 'store3', 'store4'], 'data': [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]}
  1. //records
  2. data.to_json(orient='records')
  3. =========================================
  4. [{'store1': 0, 'store2': 1, 'store3': 2, 'store4': 3}, {'store1': 4, 'store2': 5, 'store3': 6, 'store4': 7}, {'store1': 8, 'store2': 9, 'store3': 10, 'store4': 11}]
  1. data.to_dict(orient='index')
  2. ==============================
  3. {'street1': {'store1': 0, 'store2': 1, 'store3': 2, 'store4': 3}, 'street2': {'store1': 4, 'store2': 5, 'store3': 6, 'store4': 7}, 'street3': {'store1': 8, 'store2': 9, 'store3': 10, 'store4': 11}}
  1. data.to_json(orient='columns')
  2. ====================================
  3. {"store1":{"street1":0,"street2":4,"street3":8},"store2":{"street1":1,"street2":5,"street3":9},"store3":{"street1":2,"street2":6,"street3":10},"store4":{"street1":3,"street2":7,"street3":11}}
  1. data.to_json(orient='values')
  2. ====================================
  3. [[0,1,2,3],[4,5,6,7],[8,9,10,11]]