使用Python控制Excel檔案(Python control Excel files)

最近上班時,會一直需要重複整理excel的資料,每次做著同樣的事情,讓上班變得更加無趣。一天腦中閃過一個點子,「何不直接寫一個程式來處理?」,有了這個想法後,開始著手查詢相關資料、做法,可能有些人也會用到,因此整理出來。

スポンサーリンク

安裝

由於在處理其他工作時是使用Python,因此也延續著使用Python來做為程式編寫語言,另外安裝XLWings[1] 來建立管理Excel的功能。XLWings 具有編寫、讀取Excel檔案的功能。有些人會使用xlrd[2]與xlwt[3],但因為此二者已不支持對xlsx作控制,因此我決定使用XLWings。

常用使用摘要

創建Excel 檔案

要建立Excel檔案時,需要使用一個叫做Book的指令,並在最後將此Book依照自定義的檔案名稱、指定存檔路徑,將建立好的檔案存檔。

import xlwings as xw

wb = xw.Book()
wb.save(r'test.xlsx')
wb.close()

在 Windows 中指定檔案路徑時,爲了避免反斜線符號()被誤認成跳脫字元,因此在字串的前面加上 「r」,或是在路徑上使用兩個反斜線,如: “C:\\path\\doc\\test.xlsx”。

讀取Excel檔案

假設有一個test.xlsx檔案,其中已經有先建立好一個表格,並且已有如以下所示的資訊

使用如以下的程式既可讀取出檔案中 「Sheet1」表格中「A1」的資料

import xlwings as xw

wb = xw.Book(r'test.xlsx')
sheet = wb.sheets['Sheet1']
print(sheet['A1'].value)

增加分頁並指定位置輸入資訊寫入

同樣使用前面使用的test.xlsx作為測試對象,目標要做的是增加一個「Sheet2」表格,並且在「A1」的位置中加入”test123”的資訊。

import xlwings as xw

wb = xw.Book(r'test.xlsx')
sheet = wb.sheets.add("Sheet2")
sheet.range("A1").value = "test123"
wb.save()
wb.close()

關閉跳出Excel畫面的功能

使用以上的指令會發現,Excel檔案的話面會跳出來,如果要與建立excel時一樣取消顯示的功能,可以透過在程式中加入xw.App(visible=False) 的指令,既可關閉。

import xlwings as xw

xw.App(visible=False)
wb = xw.Book(r'test.xlsx')
sheet = wb.sheets.add("Sheet3")
sheet.range("A1").value = "test123"
wb.save()
wb.close()

結論

使用XLWings,既可透過Python 來建立、修改Excel中的資料,對於有需要重複處理Excel資料的情況,會可以節省下許多時間來處理其他工作、事情。XLWings另外還有提供修改表格中格子的狀態、文字顏色、文字型態、資料繪製圖形等功能,有興趣的朋友可以參考看看官方的資料[5]

參考資料

[1] XLWings
[2] xlrd
[3] xlwt
[4] XLWings官方資料

コメント

タイトルとURLをコピーしました