Home » Python » xlwtの使い方 » xlwtで入力済セルに書き込みをするには

xlwtで入力済セルに書き込みをするには

動作検証バージョン:Windows 10 + Python 3.7.3 + xlwt 1.3.0

Excelファイルへの書き込みを行うPythonのライブラリxlwtについて調べていて「PythonでExcelファイルを読み込み・書き込みするxlrd, xlwtの使い方」で、興味深い記述を見かけました。

Worksheetオブジェクトのwrite()メソッドに関する、以下の記述です。

既に入力した位置のセルを指定するとエラー。
[スポンサードリンク]

xlwtを使ってセルの上書きを確認するスクリプト

以下のようなスクリプトを試してみました。

import xlwt

bk = xlwt.Workbook()
sh = bk.add_sheet('セルの上書き確認')

sh.write(0, 0, 'This is A1')
bk.save(r'C:\temp\foo.xls')

sh.write(0, 0, 'overwrite')
bk.save(r'C:\temp\foo2.xls')

上記のスクリプトを実行すると、A1セルに「This is A1」と入力されたfoo.xlsファイルがCドライブtempフォルダーに作成されますけれど、以下のような例外が発生します。

Exception: Attempt to overwrite cell: sheetname='セルの上書き確認' rowx=0 colx=0

xlwtを使ってセルの上書きを行うには

Workbookオブジェクトのadd_sheet()メソッドの引数cell_overwrite_okにTrueを指定すると、データ入力済のセルに書き込みが可能になります。

import xlwt

bk = xlwt.Workbook()
sh = bk.add_sheet('セルの上書き確認', cell_overwrite_ok=True)

sh.write(0, 0, 'This is A1')
bk.save(r'C:\temp\foo.xls')

sh.write(0, 0, 'overwrite')
bk.save(r'C:\temp\foo2.xls')

上記のスクリプトを実行すると、Cドレイブtempフォルダーに、「This is A1」とA1セルに入力されたfoo.xlsファイルと、「overwrite」とA1セルに入力されたfoo2.xlsファイルが作成されます。

最終更新日時:2019-10-21 10:34

[スポンサードリンク]

Home » Python » xlwtの使い方 » xlwtで入力済セルに書き込みをするには

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

検索


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

.