Python如何讀取json文件
Python讀取json文件
JSON文件
準(zhǔn)備一個json文檔數(shù)據(jù),把對應(yīng)的參數(shù)添加至此json文件下,通過python去獲取對應(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)入兩個包:
import json import pandas as pd
打開json 文件并讀?。?/p>
with open('2.json', encoding='utf-8') as f:
line = f.readline()
d = json.loads(line)
f.close()讀取的json數(shù)據(jù)會以字典的形勢保存,按照字典的讀取方式獲取自己想要的數(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é)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python利用shutil實(shí)現(xiàn)拷貝文件功能
shutil?是一個?Python?內(nèi)置模塊,該模塊對文件的復(fù)制、刪除和壓縮等操作都提供了非常方便的支持。本文將利用shutil實(shí)現(xiàn)拷貝文件功能,需要的可以參考一下2022-07-07
django認(rèn)證系統(tǒng)實(shí)現(xiàn)自定義權(quán)限管理的方法
這篇文章主要介紹了django認(rèn)證系統(tǒng)實(shí)現(xiàn)自定義權(quán)限管理的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07
Python OpenCV之圖片縮放的實(shí)現(xiàn)(cv2.resize)
這篇文章主要介紹了Python OpenCV之圖片縮放的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
使用Python將xmind腦圖轉(zhuǎn)成excel用例的實(shí)現(xiàn)代碼(一)
這篇文章主要介紹了使用Python將xmind腦圖轉(zhuǎn)成excel用例的實(shí)現(xiàn)代碼(一),本文給大家介紹的非常詳細(xì)對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10
Python常用類型轉(zhuǎn)換實(shí)現(xiàn)代碼實(shí)例
這篇文章主要介紹了Python常用類型轉(zhuǎn)換實(shí)現(xiàn)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07
Pandas實(shí)現(xiàn)dataframe和np.array的相互轉(zhuǎn)換
今天小編就為大家分享一篇Pandas實(shí)現(xiàn)dataframe和np.array的相互轉(zhuǎn)換,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11

