本篇文章同步發布於 Python 使用 openpyxl 寫入內容到 Excel 儲存格【Python 處理 Excel #19】
在文章《Python 將 pandas 的 DataFrame 輸出到 Excel 檔案》介紹過如何將 pandas 的 DataFrame 輸出到 Excel 檔案,這篇文章介紹如何單純使用 openpyxl 將內容寫到 Excel 的儲存格中,包含如何寫入 Excel 公式。
寫入資料之前,需要先建立或開啟一個 Excel 檔案,並在操作完畢後儲存這個檔案:
from openpyxl import Workbook
# 建立新的活頁簿
wb = Workbook()
# 取得當前活躍的工作表
ws = wb.active
# 儲存檔案
wb.save('output.xlsx')
Workbook()
建立一個新的 Excel 檔案。wb.active
取得當前活頁簿中活躍的工作表 (通常是第一個工作表)。wb.save()
將活頁簿儲存至指定的檔案路徑。在 openpyxl 中,有兩種主要的方式將內容寫入儲存格中:
append()
方法添加列。下方程式碼介紹如何使用索引方式寫入:
ws['A1'] = 'Hello'
ws['B2'] = 42
ws
是 Worksheet
物件,代表當前的工作表。[]
內的字串 (例如 'A1'
, 'B2'
) 是 Excel 的儲存格索引。'A'
表示第一欄,'B'
表示第二欄,數字表示列號。=
直接將數據寫入指定的儲存格。這種方法類似在 Excel 中直接選擇一個儲存格並輸入內容,允許使用者精確控制數據的位置。
另一種方法是使用 append()
:
ws.append(['order_id', 'total_amount', 'note'])
append()
自動將數據增加到下一個可用的列,這在一次增加大量數據時特別有用。
openpyxl 不僅可以寫入文字和數字,也可以寫入日期、時間、布林值等其他數據類型:
import datetime
# 寫入文字
ws['A1'] = 'Hello, World!'
# 寫入數字
ws['A2'] = 123
# 寫入日期
ws['A3'] = datetime.datetime.now()
# 寫入布林值
ws['A4'] = True
openpyxl 允許使用者像寫入一般數據一樣寫入 Excel 公式:
ws['B6'] = '=SUM(B2:B4)'
=
開頭,就像在 Excel 中手動輸入公式一樣。結合以上內容,下方是一個更完整的測試用程式碼案例:
from openpyxl import Workbook
import datetime
# 建立新的活頁簿
wb = Workbook()
ws = wb.active
# 寫入不同類型的數據
ws['A1'] = 'Order ID'
ws['B1'] = 'Amount'
ws['C1'] = 'Date'
# 增加數據列
ws.append([1001, 250, datetime.datetime.now()])
ws.append([1002, 500, datetime.datetime.now()])
# 寫入公式
ws['B4'] = '=SUM(B2:B3)'
# 儲存檔案
wb.save('sales_report.xlsx')
在這個案例中我們建立了一個簡單的銷售報告,包含訂單編號、金額和日期,並使用公式計算總金額。
append()
方法。=
開頭,後面接想要輸入的公式。本篇文章同步發布於 Python 使用 openpyxl 寫入內容到 Excel 儲存格【Python 處理 Excel #19】