對pandas處理json數(shù)據(jù)的方法詳解
今天展示一個利用pandas將json數(shù)據(jù)導(dǎo)入excel例子,主要利用的是pandas里的read_json函數(shù)將json數(shù)據(jù)轉(zhuǎn)化為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')
第一參數(shù)就是json文件路徑或者json格式的字符串。
第二參數(shù)orient是表明預(yù)期的json字符串格式。orient的設(shè)置有以下幾個值:
(1).'split' : dict like {index -> [index], columns -> [columns], data -> [values]}
這種就是有索引,有列字段,和數(shù)據(jù)矩陣構(gòu)成的json格式。key名稱只能是index,columns和data。
'records' : list like [{column -> value}, ... , {column -> value}]
這種就是成員為字典的列表。如我今天要處理的json數(shù)據(jù)示例所見。構(gòu)成是列字段為鍵,值為鍵值,每一個字典成員就構(gòu)成了dataframe的一行數(shù)據(jù)。
'index' : dict like {index -> {column -> value}}
以索引為key,以列字段構(gòu)成的字典為鍵值。如:
'columns' : dict like {column -> {index -> value}}
這種處理的就是以列為鍵,對應(yīng)一個值字典的對象。這個字典對象以索引為鍵,以值為鍵值構(gòu)成的json字符串。如下圖所示:
'values' : just the values array。
values這種我們就很常見了。就是一個嵌套的列表。里面的成員也是列表,2層的。
主要就說下這兩個參數(shù)吧。下面我們回到示例中來。我們看前面可以發(fā)現(xiàn)示例是一個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數(shù)據(jù)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Python基于pandas實現(xiàn)json格式轉(zhuǎn)換成dataframe的方法
- Pandas讀存JSON數(shù)據(jù)操作示例詳解
- 讀Json文件生成pandas數(shù)據(jù)框詳情
- python使用pandas讀取json文件并進(jìn)行刷選導(dǎo)出xlsx文件的方法示例
- Pandas實現(xiàn)解析JSON數(shù)據(jù)與導(dǎo)出的示例詳解
- Python?Pandas實現(xiàn)將嵌套JSON數(shù)據(jù)轉(zhuǎn)換DataFrame
- pandas讀取HTML和JSON數(shù)據(jù)的實現(xiàn)示例
- Python使用pandas讀取Excel并選取列轉(zhuǎn)json
- Pandas JSON的處理使用
相關(guān)文章
Pytorch學(xué)習(xí)筆記DCGAN極簡入門教程
網(wǎng)上GAN的教程太多了,這邊也談一下自己的理解,本文給大家介紹一下GAN的兩部分組成,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09django中的select_related和prefetch_related性能優(yōu)化分析
這篇文章主要介紹了django中的select_related和prefetch_related性能優(yōu)化分析,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07Python數(shù)據(jù)結(jié)構(gòu)與算法之圖的基本實現(xiàn)及迭代器實例詳解
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法之圖的基本實現(xiàn)及迭代器,結(jié)合實例形式詳細(xì)分析了數(shù)據(jù)結(jié)構(gòu)與算法中圖的實現(xiàn)及迭代器相關(guān)算法原理與操作技巧,需要的朋友可以參考下2017-12-12使用Python代碼進(jìn)行PowerPoint演示文稿的合并與拆分
多個PowerPoint演示文稿的處理可能會成為非常麻煩的工作,有時需要將多個演示文稿合并為一個演示文稿,從而不用在演示時重復(fù)打開演示文稿,本文我們可以使用Python代碼來快速、準(zhǔn)確的執(zhí)行PowerPoint演示文稿的合并于拆分操作,需要的朋友可以參考下2024-03-03Python實現(xiàn)隨機(jī)漫步的詳細(xì)過程
隨機(jī)漫步顧名思義每一步都是隨機(jī)的,假設(shè)有一個點,下一步往哪里走,走多遠(yuǎn),這些都沒有明確的表示,完全是隨機(jī)的,最后走到哪里,是由一系列隨機(jī)決策決定的,這篇文章主要給大家介紹了關(guān)于Python實現(xiàn)隨機(jī)漫步的相關(guān)資料,需要的朋友可以參考下2023-03-03基于python3.7利用Motor來異步讀寫Mongodb提高效率(推薦)
Motor是一個異步mongodb driver,支持異步讀寫mongodb。它通常用在基于Tornado的異步web服務(wù)器中。這篇文章主要介紹了基于python3.7利用Motor來異步讀寫Mongodb提高效率,需要的朋友可以參考下2020-04-04