概要
Openpyxlは、PythonでExcel 2010 xlsx / xlsm / xltx / xltmファイルを読み書きするためのライブラリです。
また、各種Excelの機能をサポートしています。
例えば、数式、グラフ、イメージ、セルの書式設定など、一部の機能を除いて、Excelのデータを自由自在に操作することが可能です。
もちろん、Excelがインストールされていない環境でも利用できるのが特徴的です。
これから具体的に使い方を見ていきましょう。
詳細内容
ここでは、Openpyxlを使ったExcelの操作をいくつかの例で見ていきましょう。
1. xlsファイルの読み込みと書き込み
from openpyxl import Workbook# Workbookを新規作成
wb = Workbook()# Workbookがデフォルトで持つシートを取得
ws = wb.active# セルへの値の設定
ws['A1'] = 'Hello'
ws['B1'] = 'World'# Workbookの保存
wb.save('sample.xlsx')
このコードはまず、Workbookのインスタンスwbを作成します。
次に、wbのアクティブなシートを取得し、wsとして保持します。
その後、A1とB1にそれぞれHelloとWorldを書き込み、’sample.xlsx’という名前で保存します。
2. 既存のxlsファイルの読み込み
from openpyxl import load_workbook# Excelファイルを開く
wb = load_workbook('sample.xlsx')# アクティブなシートを取得
ws = wb.active# セルから値を取得
print(ws['A1'].value) # Hello
print(ws['B1'].value) # World
このコードでは、まず’load_workbook’関数を使って既存のExcelファイル’sample.xlsx’を開きます。
次にアクティブなシートを取得し、A1とB1のセルの中身を表示します。
3. xlsファイルに新たなシートの追加
from openpyxl import Workbookwb = Workbook()# 新規のシートを作成
ws2 = wb.create_sheet('NewSheet')# 新規シートに値を設定
ws2['A1'] = 'Hello'
ws2['B1'] = 'New World'# 保存
wb.save('sample2.xlsx')
このコードでは、まず新しいWorkbookを作成します。
次に’create_sheet’メソッドを使って新しいシートを作成し、some_valueを設定します。
最後に保存します。
4. xlsファイルの複数セルへのデータの書き込み
from openpyxl import Workbookwb = Workbook()
ws = wb.active# 複数セルへの値の設定
data = [
['Hello', 'World'],
['Python', 'Openpyxl'],
]for i, row in enumerate(data):
for j, value in enumerate(row):
ws.cell(row=i+1, column=j+1, value=value)wb.save('sample3.xlsx')
最後のコードでは、2次元リストdataを用いて複数行・複数列へのデータの書き込みを行います。
enumerate関数を用いて、行と列のインデックスを取得し、その位置に対応するセルに値を設定します。
以上、Openpyxlを使った基本的なExcel操作の例を見てきました。
このライブラリを使えば、PythonでExcelファイルを自由に操作することが可能です。
コメント