參考資料:陳會安,看圖學Python+Excel辦公室自動化程式設計,全華
資料來源:https://fchart.github.io/json/TaiwanRailway.json
範例一、使用 pandas 套件來處理和儲存資料到 Excel 檔案
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import requests import json import pandas as pd # 從URL取得JSON資料 r = requests.get('https://fchart.github.io/json/TaiwanRailway.json') json_data = json.loads(r.text) # 轉換成DataFrame df = pd.DataFrame(json_data) # 儲存到Excel檔案 df.to_excel('TaiwanRailway.xlsx', index=False) print("資料已儲存到 TaiwanRailway.xlsx") |
註:index=False 表示不將 DataFrame 的索引寫入到 Excel 檔案中。
範例二、使用 openpyxl 套件直接操作 Excel 文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | import requests import json from openpyxl import Workbook # 從URL取得JSON資料 r = requests.get('https://fchart.github.io/json/TaiwanRailway.json') json_data = json.loads(r.text) # 建立一個新的Workbook wb = Workbook() ws = wb.active ws.title = "TaiwanRailway" # 寫入標題行 headers = ['車種車次 (始發站 → 終點站)', '出發時間', '抵達時間', '行駛時間', '經由', '詳細資訊', '全票', '孩童票', '訂票'] ws.append(headers) # 寫入資料 for item in json_data: row = [ item.get('車種車次 (始發站 → 終點站)'), item.get('出發時間'), item.get('抵達時間'), item.get('行駛時間'), item.get('經由'), item.get('詳細資訊'), item.get('全票'), item.get('孩童票'), item.get('訂票') ] ws.append(row) # 儲存到Excel檔案 wb.save('TaiwanRailway.xlsx') print("資料已儲存到 TaiwanRailway.xlsx") |
範例三、使用 openpyxl 套件直接操作 Excel 文件[不使用get]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | import requests import json from openpyxl import Workbook # 從URL取得JSON資料 r = requests.get('https://fchart.github.io/json/TaiwanRailway.json') json_data = json.loads(r.text) # 建立一個新的Workbook wb = Workbook() ws = wb.active ws.title = "TaiwanRailway" # 寫入標題行 headers = ['車種車次 (始發站 → 終點站)', '出發時間', '抵達時間', '行駛時間', '經由', '詳細資訊', '全票', '孩童票', '訂票'] ws.append(headers) # 寫入資料 for item in json_data: row = [ item['車種車次 (始發站 → 終點站)'], item['出發時間'], item['抵達時間'], item['行駛時間'], item['經由'], item['詳細資訊'], item['全票'], item['孩童票'], item['訂票'] ] ws.append(row) # 儲存到Excel檔案 wb.save('TaiwanRailway.xlsx') print("資料已儲存到 TaiwanRailway.xlsx") |
沒有留言:
張貼留言