Excelを扱うことができるPythonライブラリであるopenpyxlでExcelファイルのインデックスで指定したセルの値を書き換える方法を備忘録として残しておきます。
目次
サンプルのExcelファイル
使い方をまとめる上で、以下の「sample.xlsx」という名称のExcelファイルをCドライブ直下に格納したことを想定します。
また、「sample.xlsx」には「購入リスト」と「お店一覧」という名称のシートが2つあることを想定します。
インデックスで指定したセルの値を書き換える
【サンプルコード】
##### 【座標からセルを取得する】 #####
import openpyxl
# Excelファイルのロード
excel_path='C:/sample.xlsm'
workbook = openpyxl.load_workbook(filename=excel_path)
# '購入リスト'という名称のシートを指定
worksheet = workbook['購入リスト']
# インデックス(7行目、2列目)からセルに書き込み
worksheet.cell(row=7, column=2,value='ナシ')
# Excelファイルを保存
workbook.save(excel_path)
# ロードしたExcelファイルを閉じる
workbook.close()
【実行結果】
(特に表示なし)
【説明】
- Worksheetオブジェクトの
cell()
を使えば、インデックスからセルに値を書き込むことができます。 cell(row, column, value=None)
のrow
に行インデックス(int
型)、column
に列インデックス(int
型)、value
に値を指定すれば、row
とcolumn
で指定したセルに値を書き込むことができます。- 座標は行は1スタートの数字、列はA~ZZのアルファベットで指定できます。
- インデックスは行、列ともに1スタートの数字で指定できます。
- 書き換えたセルの情報は
workbook.save()
しないと保存されないので注意です。 - Worksheetオブジェクトは「
openpyxl.worksheet.worksheet
モジュール」内のWorksheetクラスで定義されています。 - Cellオブジェクトは「
openpyxl.cell.cell
モジュール」内のCellクラスで定義されています。
サンプルコードのworksheet.cell(row=7, column=2,value='ナシ')
で7行目、2列目のセルに「ナシ」を追加しています。
「sample.xlsx」を開くと、「購入リスト」の7行目、2列目に「ナシ」が追加されていることが確認できます。
関連情報
【openpxxlライブラリのまとめ】
【Pythonライブラリのまとめ】
参考
以上!
コメント