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 文件并讀?。?/p>
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是由多種類(lèi)型的列構(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)文章
詳解NumPy中的線(xiàn)性關(guān)系與數(shù)據(jù)修剪壓縮
本文將通過(guò)股票均線(xiàn)計(jì)算的案例來(lái)為大家講解一下NumPy中的線(xiàn)性關(guān)系以及數(shù)據(jù)修剪壓縮的實(shí)現(xiàn),文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-05-05
Python使用grequests并發(fā)發(fā)送請(qǐng)求的示例
這篇文章主要介紹了Python使用grequests并發(fā)送請(qǐng)求的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-11-11
python中的?sorted()函數(shù)和sort()方法區(qū)別
這篇文章主要介紹了python中的?sorted()函數(shù)和sort()方法,首先看sort()方法,sort方法只能對(duì)列表進(jìn)行操作,而sorted可用于所有的可迭代對(duì)象。具體內(nèi)容需要的小伙伴可以參考下面章節(jié)2022-02-02
分享python中matplotlib指定繪圖顏色的八種方式
這篇文章主要給大家分享的是python中matplotlib指定繪圖顏色的八種方式,在使用matplotlib的pyplot庫(kù)進(jìn)行繪圖時(shí),經(jīng)常會(huì)發(fā)現(xiàn)各種開(kāi)源代碼指定“color”的方式并不一致,下面就向大家展示8種指定color的方式,需要的朋友可以參考一下2022-03-03
ORM Django 終端打印 SQL 語(yǔ)句實(shí)現(xiàn)解析
這篇文章主要介紹了ORM Django 終端打印 SQL 語(yǔ)句實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
python?文件讀寫(xiě)和數(shù)據(jù)清洗
這篇文章主要介紹了python文件讀寫(xiě)和數(shù)據(jù)清洗,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)又是幫助2022-08-08

