Python如何讀取json文件
Python讀取json文件
JSON文件
準(zhǔn)備一個(gè)json文檔數(shù)據(jù),把對(duì)應(yīng)的參數(shù)添加至此json文件下,通過(guò)python去獲取對(duì)應(yīng)的數(shù)據(jù)
代碼如下(示例):
{ "item": [ { "requests": { "url": "", "body": { "isWindow": 0, "logoUrl": "", "name": "new2", "router": "", "sort": 0, "systemId": 0, "useType": 0 } }, "response": [ {"code":"200"} ] }, { "requests": { "url": "", "body": { "isWindow": 0, "logoUrl": "", "name": "new6", "router": "", "sort": 0, "systemId": 0, "useType": 1 } }, "response": [ {"code":"200"} ] }, { "requests": { "url": "", "body": { "isWindow": 0, "logoUrl": "", "name": "new8", "router": "", "sort": 0, "systemId": 0, "useType": 0 } }, "response": [ {"code":"200"} ] } ] }
讀取JSON數(shù)據(jù)
代碼如下(示例):
import json import pprint class Read(): def read_json(self): return json.load(open('app_json.json','r',encoding="utf-8"))['item'] read = Read() # print(read) pprint.pprint(read.read_json()) 輸出結(jié)果: [{'requests': {'body': { 'isWindow': 0, 'logoUrl': '', 'name': 'new2', 'router': '', 'sort': 0, 'systemId': 0, 'useType': 0}, 'url': ''}, 'response': [{'code': '200'}]}, {'requests': {'body': { 'isWindow': 0, 'logoUrl': '', 'name': 'new6', 'router': '', 'sort': 0, 'systemId': 0, 'useType': 1}, 'url': ''}, 'response': [{'code': '200'}]}, {'requests': {'body': { 'isWindow': 0, 'logoUrl': '', 'name': 'new8', 'router': '', 'sort': 0, 'systemId': 0, 'useType': 0}, 'url': ''}, 'response': [{'code': '200'}]}]
Python解析json數(shù)據(jù)并保存為csv文件
首先導(dǎo)入兩個(gè)包:
import json import pandas as pd
打開(kāi)json 文件并讀取:
with open('2.json', encoding='utf-8') as f: line = f.readline() d = json.loads(line) f.close()
讀取的json數(shù)據(jù)會(huì)以字典的形勢(shì)保存,按照字典的讀取方式獲取自己想要的數(shù)據(jù):
datas_x = [] datas_y = [] for dss in d: datas_x.append(float(dss["pos"]["x"])) datas_y.append(float(dss["pos"]["z"]))
將數(shù)據(jù)保存到列表中,然后創(chuàng)建pandas的DataFrame,DataFrame是由多種類型的列構(gòu)成的二維標(biāo)簽數(shù)據(jù)結(jié)構(gòu)。
path_x = pd.Series(datas_x) path_y = pd.Series(datas_y) path_df = pd.DataFrame() path_df['pathx'] = path_x path_df['pathy'] = path_y
最后將數(shù)據(jù)保存到csv中。
filepath = "E:\\python\\python\\2021\\202104\\0409\\path_data.csv" path_df.to_csv(filepath, index=False, header=False)
完整代碼:
import json import pandas as pd filepath = "E:\\python\\python\\2021\\202104\\0409\\path_data.csv" with open('2.json', encoding='utf-8') as f: line = f.readline() d = json.loads(line) f.close() datas_x = [] datas_y = [] for dss in d: datas_x.append(float(dss["pos"]["x"])) datas_y.append(float(dss["pos"]["z"])) path_x = pd.Series(datas_x) path_y = pd.Series(datas_y) path_df = pd.DataFrame() path_df['pathx'] = path_x path_df['pathy'] = path_y path_df.to_csv(filepath, index=False, header=False)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python利用shutil實(shí)現(xiàn)拷貝文件功能
shutil?是一個(gè)?Python?內(nèi)置模塊,該模塊對(duì)文件的復(fù)制、刪除和壓縮等操作都提供了非常方便的支持。本文將利用shutil實(shí)現(xiàn)拷貝文件功能,需要的可以參考一下2022-07-07django認(rèn)證系統(tǒng)實(shí)現(xiàn)自定義權(quán)限管理的方法
這篇文章主要介紹了django認(rèn)證系統(tǒng)實(shí)現(xiàn)自定義權(quán)限管理的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07Python手寫(xiě)回歸樹(shù)的實(shí)現(xiàn)
本文主要介紹了Python手寫(xiě)回歸樹(shù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06Python OpenCV之圖片縮放的實(shí)現(xiàn)(cv2.resize)
這篇文章主要介紹了Python OpenCV之圖片縮放的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06使用Python將xmind腦圖轉(zhuǎn)成excel用例的實(shí)現(xiàn)代碼(一)
這篇文章主要介紹了使用Python將xmind腦圖轉(zhuǎn)成excel用例的實(shí)現(xiàn)代碼(一),本文給大家介紹的非常詳細(xì)對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10Python文件循環(huán)寫(xiě)入行時(shí)防止覆蓋的解決方法
今天小編就為大家分享一篇Python文件循環(huán)寫(xiě)入行時(shí)防止覆蓋的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11Python常用類型轉(zhuǎn)換實(shí)現(xiàn)代碼實(shí)例
這篇文章主要介紹了Python常用類型轉(zhuǎn)換實(shí)現(xiàn)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07Pandas實(shí)現(xiàn)dataframe和np.array的相互轉(zhuǎn)換
今天小編就為大家分享一篇Pandas實(shí)現(xiàn)dataframe和np.array的相互轉(zhuǎn)換,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11