辦公室自動化之Excel操作

jsonToExcel

日前T編寫了幾篇關於辦公室文件的操作(辦公室自動化之Word操作報告論文的利器-pdf解析應用),但其實還有一個操作也是常常需要用到,且大家都會接觸的,就是Excel!

尤其是在整理數據資料如何讀取或寫入Excel或是爬蟲完的資料資料要如何儲存,靠Excel 就對了!

零、說明

本次將透過一個OpenData的資料集,將資料轉換成Excel,藉此讓使用者了解如何使用openpyxl.

一、安裝

pip install openpyxl #主要透過此來讀寫Excel
pip install requests #用來打API用

二、openpyxl基本操作

#名詞
workbook => 一個Excle物件
worksheet => 工作表
row => 列
col => 行


#建立一個excel物件
wb = openpyxl.Workbook()

#取得sheet名稱
print(wb.sheetnames)

#取得目前使用的工作表
ws = wb.activate

#寫入欄位
ws.append([list])
ws[col]= {填入的資料} 


#讀取Excel
wb = load_workbook('file name')

#存檔
wb.save('file name.xlsx')

三、實際使用

會了上面的操作後,我們就來使用一下,從opendata取得臺北市政府體育局場地租借系統線上場地一覽表並儲存至Excel中

本來透過API取得的JSON長這樣

#load 套件
import openpyxl
import requests
import json

#讀取資料
url ='https://vbs.sports.taipei/opendata/sports_tms.json' #opendata資料路徑
r = requests.get(url) #取得資料
json_r = result.json() #轉換成JSON格式

#建立Excel物件
wb = openpyxl.Workbook()
ws = wb.active

#先建立表頭
ws.append(['Area','Name','Address']) #因為是Demo先將資料中的三個欄位寫入Excel就好,其餘依照辦理
excel寫入表頭
#將讀取出來的資料整理一下,以利等等寫入Excel
to_excel_dict = []

#逐一讀出資料,寫入Excel欄位中
for i in range(len(json_r)):
    cloum_indexA = 'A' + str(i + 2)
    cloum_indexB = 'B' + str(i + 2)
    cloum_indexC = 'C' + str(i + 2)

    ws[cloum_indexA] = json_r[i]['Area']
    ws[cloum_indexB] = json_r[i]['Name']
    ws[cloum_indexC] = json_r[i]['Address']

#存檔
wb.save('demo.xlsx')

四、成果展示

是不是很簡單使用了,如果每次都要整理資料,或是想把資料做更複雜的運用,都可以用此方式,有機會T編也可以說說如何讀入Excel後畫出美美的圖表,

這次轉出來的資料如下

Loading

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *