動作検証バージョン:Windows 11 Home + Python 3.10.6(64-bit) + xlwings 0.29.1 + 64bit Excel(バージョン2304 ビルド16327.20134)
「python excel 行削除」
「python エクセル 行 削除」
といった検索キーワードで時折アクセスがあります。
この記事ではExcelを操作する外部ライブラリ「xlwings」を使ったサンプルをご紹介します。
[スポンサードリンク]
xlwingsを使って行を削除するサンプル
たとえば、下図のようなワークシートがアクティブな状態で、
以下のスクリプトを実行してください。
import xlwings as xw
bk = xw.books.active
sht = bk.sheets.active
「sht.range('8:8').delete('up')」で8行目が削除され、
下図のような状態になります。
続けて、
sht.range('3:5').delete('up')
を実行すると、3:5行目が削除されて下図のようになります。
Range.delete()で行を削除できる
xlwingsのRangeオブジェクトに用意されているdelete()メソッドを使うと、行を削除できるということです。
先述のサンプルでは、
sht.range('8:8').delete('up')
sht.range('3:5').delete('up')
のように、Range.delete()メソッドの引数に文字列「up」を指定していますが、
sht.range('8:8').delete()
sht.range('3:5').delete()
と、引数を指定しなくても行を削除できます。
Range.delete()メソッドは、_xlwidows.pyモジュールで、
def delete(self, shift=None):
shifts = {
"up": DeleteShiftDirection.xlShiftUp,
"left": DeleteShiftDirection.xlShiftToLeft,
None: None,
}
self.xl.Delete(Shift=shifts[shift])
と定義されています。
最終更新日時:2023-05-07 13:12
[スポンサードリンク]
Home » Python » xlwingsの使い方 » xlwingsで行を削除する-Range.delete()メソッド