Python JSON文件的處理
1. JSON的基本概念
JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易於人類閱讀和編寫,同時也易於機器解析和生成。它通常用於API數據傳輸和配置文件。
2. 讀取JSON文件
# 導入json模組
import json
# 讀取JSON文件
with open('data.json', 'r', encoding='utf-8') as file:
data = json.load(file) # 將JSON數據轉換為Python對象
print(data) # 輸出讀取的數據
3. 寫入JSON文件
# 寫入JSON文件
data = {
'姓名': '小明',
'年齡': 25,
'城市': '台北',
'興趣': ['閱讀', '旅行', '編程']
}
with open('output.json', 'w', encoding='utf-8') as file:
json.dump(data, file, ensure_ascii=False, indent=4) # 將Python對象轉換為JSON格式並寫入文件
4. JSON數據的處理
讀取和處理JSON數據:
# 讀取JSON並提取特定字段
with open('data.json', 'r', encoding='utf-8') as file:
data = json.load(file)
print(f"姓名: {data['姓名']}")
print(f"年齡: {data['年齡']}")
5. 實用示例
從API獲取JSON數據:
# 使用requests模組獲取JSON數據
import requests
response = requests.get('https://api.example.com/data')
if response.status_code == 200:
data = response.json() # 直接將返回的JSON數據轉換為Python對象
print(data)
else:
print('獲取數據失敗')
6. 練習題
-
創建一個JSON文件,包含多個學生的姓名、年齡和成績,然後讀取並顯示這些數據。
-
從JSON文件中讀取數據,計算所有學生的平均成績。
7. 常見錯誤和注意事項
- 確保JSON文件的格式正確,特別是使用雙引號。
- 注意編碼問題,特別是處理中文時。
- 使用ensure_ascii=False以避免中文字符被轉義。
8. 最佳實踐
- 使用with語句自動管理文件的開關。
- 對於大型JSON文件,考慮使用生成器逐行處理以節省內存。
- 在寫入JSON文件時,使用indent參數以提高可讀性。