對(duì)pandas處理json數(shù)據(jù)的方法詳解
今天展示一個(gè)利用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的語(yǔ)法如下:
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è)置有以下幾個(gè)值:
(1).'split' : dict like {index -> [index], columns -> [columns], data -> [values]}
這種就是有索引,有列字段,和數(shù)據(jù)矩陣構(gòu)成的json格式。key名稱(chēng)只能是index,columns和data。

'records' : list like [{column -> value}, ... , {column -> value}]
這種就是成員為字典的列表。如我今天要處理的json數(shù)據(jù)示例所見(jiàn)。構(gòu)成是列字段為鍵,值為鍵值,每一個(gè)字典成員就構(gòu)成了dataframe的一行數(shù)據(jù)。
'index' : dict like {index -> {column -> value}}
以索引為key,以列字段構(gòu)成的字典為鍵值。如:

'columns' : dict like {column -> {index -> value}}
這種處理的就是以列為鍵,對(duì)應(yīng)一個(gè)值字典的對(duì)象。這個(gè)字典對(duì)象以索引為鍵,以值為鍵值構(gòu)成的json字符串。如下圖所示:

'values' : just the values array。
values這種我們就很常見(jiàn)了。就是一個(gè)嵌套的列表。里面的成員也是列表,2層的。

主要就說(shuō)下這兩個(gè)參數(shù)吧。下面我們回到示例中來(lái)。我們看前面可以發(fā)現(xiàn)示例是一個(gè)orient為records的json字符串。
這樣就好處理了??创a:
# -*- 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"])
最終寫(xiě)入excel如下圖:

以上這篇pandas處理json數(shù)據(jù)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python基于pandas實(shí)現(xiàn)json格式轉(zhuǎn)換成dataframe的方法
- Pandas讀存JSON數(shù)據(jù)操作示例詳解
- 讀Json文件生成pandas數(shù)據(jù)框詳情
- python使用pandas讀取json文件并進(jìn)行刷選導(dǎo)出xlsx文件的方法示例
- Pandas實(shí)現(xiàn)解析JSON數(shù)據(jù)與導(dǎo)出的示例詳解
- Python?Pandas實(shí)現(xiàn)將嵌套JSON數(shù)據(jù)轉(zhuǎn)換DataFrame
- pandas讀取HTML和JSON數(shù)據(jù)的實(shí)現(xiàn)示例
- Python使用pandas讀取Excel并選取列轉(zhuǎn)json
- Pandas JSON的處理使用
相關(guān)文章
Django中反向生成models.py的實(shí)例講解
今天小編就為大家分享一篇Django中反向生成models.py的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
利用信號(hào)如何監(jiān)控Django模型對(duì)象字段值的變化詳解
這篇文章主要給大家介紹了關(guān)于利用信號(hào)如何監(jiān)控Django模型對(duì)象字段值變化的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11
python安裝whl包并解決依賴(lài)關(guān)系的實(shí)現(xiàn)
本文主要介紹了python安裝whl包并解決依賴(lài)關(guān)系的實(shí)現(xiàn),文中通過(guò)圖文示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02
如何利用Python解析超大的json數(shù)據(jù)(GB級(jí)別)
果不想從頭開(kāi)始創(chuàng)建數(shù)據(jù)格式來(lái)存儲(chǔ)數(shù)據(jù),JSON是一個(gè)不錯(cuò)的選擇,下面這篇文章主要給大家介紹了關(guān)于如何利用Python解析超大的json數(shù)據(jù)(GB級(jí)別)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
python之PyQt按鈕右鍵菜單功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了python PyQt按鈕右鍵菜單功能的實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
python+pygame實(shí)現(xiàn)坦克大戰(zhàn)小游戲的示例代碼(可以自定義子彈速度)
這篇文章主要介紹了python+pygame實(shí)現(xiàn)坦克大戰(zhàn)小游戲---可以自定義子彈速度,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
numpy中的norm()函數(shù)求范數(shù)實(shí)例
這篇文章主要介紹了numpy中的norm()函數(shù)求范數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
實(shí)例講解Python中函數(shù)的調(diào)用與定義
這篇文章主要介紹了Python中函數(shù)的調(diào)用與定義,是Python入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2016-03-03

