Home » Python » xlwingsの使い方 » xlwingsで行を削除する-Range.delete()メソッド

xlwingsで行を削除する-Range.delete()メソッド

動作検証バージョン: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')

「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()メソッド

「xlwingsの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.