,因為xlwings
依賴pywin32
,而openpyxl
沒有。
打開pyxl
“.xlsx”excel 文件本質上是一個 zip 文件,其中包含多個根據 Microsoft 的OOXML 規範格式化的 XML 文件。有了這個規範,就可以創建一個能夠用幾乎任何編程語言直接讀/寫 excel 文件的程序。這是應用的方法openpyxl
:它使用python代碼直接讀/寫excel文件。
xlwings
Microsoft Excel 應用程序可以通過Win32 COM API由外部程序啟動和控製。該pywin32
包提供了 Win32 COM 和 Python 之間的接口。通過帶有正確 pywin32 命令的 python 腳本,您可以完全控製 Excel 應用程序(打開 excel 文件、從單元格查詢數據、將數據寫入單元格、保存 excel 文件等)。pywin32
您可以使用的命令反映了Excel VBA 命令,盡管使用的是 python 語法。
xlwings
是(除其他事項外)圍繞pywin32
. 它介紹了幾種簡潔而強大的方法。一個例子是將 excel 單元格範圍直接轉換為 numpy 數組或 pandas 數據框(反之亦然)的方法。
概括
xlwings
和之間的根本區別openpyxl
是前者要求您的計算機上安裝 MS Excel,而後者則不需要。