PythonでExcelファイルを操作するためのライブラリとして、xlwings
とopenpyxl
がよく使われます。これらのライブラリはそれぞれ異なる特性と利点を持っています。
xlwingsとopenpyxlの違い
xlwings
は、本家Excelをプロセス間通信で制御するライブラリです。一方、openpyxl
はExcelとの互換性に難ありますが、カバーできる環境が広くLinuxサーバでも動きます。
以下に、xlwings
とopenpyxl
の主な違いを示します。
項目 | openpyxl | xlwings |
---|---|---|
動作環境 | Linux / MacOS / Windows | Windows |
Excel | 不要 | 必要 |
サポートしているファイル形式 | Excel 2010 の xlsx/xlsm/xltx/xltm | Excelがサポートする形式全て |
処理速度 | 〇 | × |
openpyxlとxlwingsの使用例
以下に、openpyxl
とxlwings
を使用したExcel操作のPythonコード例を示します。
# openpyxlの使用例
import openpyxl
wb = openpyxl.load_workbook('book.xlsx', data_only=True)
ws = wb['Sheet1']
print(tuple(ws.values))
# xlwingsの使用例
import xlwings as xw
app = xw.App()
wb = app.books.open('book.xlsx')
ws = wb.sheets[0]
print(ws.range('A1').value)
これらのライブラリを選択する際は、自分の要件と環境に最も適したものを選ぶことが重要です。