Python解析JSON數(shù)據(jù)的示例代碼
1、有如下 JSON 數(shù)據(jù),存放在 data.json 文件:
[{"id":1, "name": "小王", "gender": "male", "score": 96.8},
{"id":2, "name": "小婷", "gender": "female", "score": 95.5},
{"id":3, "name": "小崔", "gender": "male", "score": 80.5}]2、寫一個(gè) python 腳本(test1.py)解析這個(gè)文件:
# 導(dǎo)入 python 內(nèi)置的 json 模塊
import json
# 讀取 JSON 文件
input_path = r"C:\Users\Administrator\Desktop\py\study\data.json"
# 解析完的 JSON 數(shù)據(jù)存放的輸出文件
output_path = r"C:\Users\Administrator\Desktop\py\study\result.txt"
# 以只讀(r:read)的方式打開 輸入文件
with open(input_path, 'r', encoding='utf-8') as file:
# 將 JSON 數(shù)據(jù)加載到變量 data 中
data = json.load(file)
# 以追加 (a:append) 的方式打開 輸出文件
output_file=open(output_path, 'a', encoding='utf-8')
# 如果 JSON 數(shù)據(jù)是一個(gè)列表,可以遍歷列表中的元素
if isinstance(data, list):
# enumerate 函數(shù)可以方便地同時(shí)獲取索引(i)和元素值(item)
for i, item in enumerate(data):
# \n 轉(zhuǎn)義字符,換行的意思 i 是個(gè)數(shù)字,需要用 str() 函數(shù)轉(zhuǎn)換為字符串類型
# 打印在屏幕
print('\n'+str(i+1)+'、'+item['name']+'的個(gè)人資料')
# 輸出在文件
output_file.write('\n'+str(i+1)+'、'+item['name']+'的個(gè)人資料')
output_file.write('\n 性別:'+item['gender'])
output_file.write('\n 得分:'+str(item['score']))
# 關(guān)閉文件,防止資源泄露
output_file.close()3、在腳本所在路徑,打開 powershell.exe,運(yùn)行這個(gè)腳本:

result.txt 輸出數(shù)據(jù)如下:

像這種簡單的腳本程序,現(xiàn)在都可以叫 AI (比如豆包) 幫我們寫:

4、擴(kuò)展:
字符串前面加 r 是什么意思?
r/R 字符串前面加大R或者小r,是原始字符串。所有的字符串都是直接按照字面的意思來使用,沒有轉(zhuǎn)義特殊或不能打印的字符。
我們知道,\ 反斜杠在python中是轉(zhuǎn)義字符,比如 \n 就是 換行。轉(zhuǎn)換了原來 n 字符的原始意思,變?yōu)?換行。
print('n')
輸出 n
print('\n')
輸出換行
而 window 系統(tǒng)中,磁盤路徑,又都是用 \ 反斜杠表示的,

如果直接把它作為文件路徑,python 會(huì)報(bào)錯(cuò):

有兩種解決方式:
1)\\ 兩個(gè)反斜杠,字面意思,以 \ 轉(zhuǎn)義掉原來 \ 轉(zhuǎn)義的含義,變?yōu)檩敵?\

但這畢竟比較麻煩,所以有第二種方法
2)在字符串前面加 r,忽略掉字符串里面 \ 的轉(zhuǎn)義含義,讓它原樣輸出 \

以上就是Python解析JSON數(shù)據(jù)的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于Python解析JSON數(shù)據(jù)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Django自定義分頁與bootstrap分頁結(jié)合
這篇文章主要為大家詳細(xì)介紹了Django自定義分頁與bootstrap分頁結(jié)合使用的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
Python無法用requests獲取網(wǎng)頁源碼的解決方法
爬蟲獲取信息,很多時(shí)候是需要從網(wǎng)頁源碼中獲取鏈接信息的,下面這篇文章主要給大家介紹了關(guān)于Python無法用requests獲取網(wǎng)頁源碼的解決方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
從零教你如何使用Python實(shí)現(xiàn)GIF壓縮效果
如果你經(jīng)常在網(wǎng)上收集各種有趣的GIF動(dòng)圖,但發(fā)現(xiàn)它們占用了太多空間,所以本文小編就來和大家詳細(xì)介紹一下如何使用Python實(shí)現(xiàn)GIF壓縮效果吧2025-07-07
Django外鍵(ForeignKey)操作以及related_name的作用詳解
這篇文章主要介紹了Django外鍵(ForeignKey)操作以及related_name的作用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Python爬蟲實(shí)現(xiàn)的根據(jù)分類爬取豆瓣電影信息功能示例
這篇文章主要介紹了Python爬蟲實(shí)現(xiàn)的根據(jù)分類爬取豆瓣電影信息功能,結(jié)合完整實(shí)例形式分析了Python針對電影信息分類抓取的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-09-09

