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、寫一個 python 腳本(test1.py)解析這個文件:
# 導(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ù)是一個列表,可以遍歷列表中的元素
if isinstance(data, list):
# enumerate 函數(shù)可以方便地同時獲取索引(i)和元素值(item)
for i, item in enumerate(data):
# \n 轉(zhuǎn)義字符,換行的意思 i 是個數(shù)字,需要用 str() 函數(shù)轉(zhuǎn)換為字符串類型
# 打印在屏幕
print('\n'+str(i+1)+'、'+item['name']+'的個人資料')
# 輸出在文件
output_file.write('\n'+str(i+1)+'、'+item['name']+'的個人資料')
output_file.write('\n 性別:'+item['gender'])
output_file.write('\n 得分:'+str(item['score']))
# 關(guān)閉文件,防止資源泄露
output_file.close()3、在腳本所在路徑,打開 powershell.exe,運行這個腳本:

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

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

4、擴展:
字符串前面加 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 會報錯:

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

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

以上就是Python解析JSON數(shù)據(jù)的示例代碼的詳細內(nèi)容,更多關(guān)于Python解析JSON數(shù)據(jù)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python高階函數(shù)extract與extractall使用實例探究
這篇文章主要為大家介紹了Python高階函數(shù)extract與extractall使用實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01

