之前家教的學生說想學用 python 寫入資料到 excel,這個實用技巧不分享不行,所以就有這篇文章啦!這次使用的套件 openpyxl 這個模組,程式碼和操作都很簡單直觀。
安裝套件
$ pip install openpyxl
一點點名詞介紹
稍微記得一下,等一下比較不會搞混。workbook
: 活頁簿 sheet
: 分頁 cell(row,col)
: 資料儲存格,row為第幾列,col為第幾行 
開啟、儲存檔案
建立新檔 :workbook = openpyxl.Workbook()
開啟舊檔 :
workbook = openpyxl.load_workbook("檔名")
儲存檔案 :
workbook.save("檔名")
分頁相關
取得分頁 :sheet = workbook.worksheets[0]
或 sheet = workbook["分頁名"]
有這兩種方法,可以透過是第幾個分頁或分頁名取得。另外只要新建活頁簿就會預先建立好一個名為 Sheet 的分頁,也就是第一個分頁不需要自己建立。
建立分頁 :
sheet = workbook.create_sheet("分頁名")
命名分頁 :
sheet.title = "分頁名"
資料儲存格相關
取得資料儲存格 :sheet.cell(row,col)
或 sheet["A1"]
也有兩種方法,可以透過第幾行第幾列或儲存格的名稱取得。
寫入資料 :
sheet.cell(row,col).value="Hello"
或 sheet["A1"].value="Hello"
在資料儲存格後加上.value就可以啦,這邊要注意row和col都是從1開始算,不是從0喔~
程式碼 Demo
import openpyxl
workbook = openpyxl.Workbook() # 建立新的活頁簿
sheet = workbook.worksheets[0] # 取得第一個分頁
sheet.title = "fruit" # 重新命名分頁
# 寫入資料
sheet.cell(1,1).value = "apple"
sheet.cell(2,1).value = "banana"
sheet.cell(3,1).value = "cherry"
sheet["B1"].value = 30
sheet["B2"].value = 10
sheet["B3"].value = 60
sheet["B4"].value = "=SUM(B1:B3)" # 也可以寫入數學公式
workbook.save("test.xlsx") # 記得存檔,不然就是做白工喔
成果如下:
就先介紹到這裡啦~
同場加映:python 讀寫 Google Sheet