Home » Python » xlwings » xlwingsでセルに数値を入力する

xlwingsでセルに数値を入力する

動作検証バージョン:Windows 10 + Python 3.7.3 + xlwings 0.15.5 + Excel 1904

「python 数値 エクセル書き込み」
という検索キーワードをキッカケにして、OpenPyXLを使ってExcelに数値を書き込むスクリプトをご紹介しました。

xlwingsを使った場合も確認しましょう。

[スポンサードリンク]

xlwingsでセルに数値を入力するサンプル

xlwingsを使う場合、以下のようなスクリプトで、セルに数値を入力できます。


import xlwings
wb = xlwings.Book('C:\\temp\\foo.xlsx')
sht = wb.sheets[0]

sht.range('A1').value = 1000
sht.range((2, 1)).value = 2000
sht.cells(3, 1).value = 3000

wb.save('C:\\temp\\foo2.xlsx')

Cドライブのtempフォルダーにfoo.xlsxブックを用意しておいてから上記のスクリプトを実行すると、
  sht = wb.sheets[0]
で取得した先頭ワークシートの、A1セルに「1000」、A2セルに「2000」、A3セルに「3000」がそれぞれ書き込まれ、foo2.xlsxブックとして保存されます。

Excel VBAに似たコード

数値の入力を行っている
  sht.range('A1').value = 1000
と、
  sht.cells(3, 1).value = 3000
は、Excel VBAに似たコードです。

Excel VBAの、
  sht.Range("A1").Value = 1000
  sht.Cells(3, 1).Value = 3000
に相当すると考えていいのでしょう。

cells()で単独のセルを取得する

xlwingsのcells()についてドキュメントには、


Returns a Range object that represents all the cells on the Sheet (not just the cells that are currently in use).

と書かれているだけで、個々のセルを取得できる件は記述がありませんが、上記のようなコードで個々のセルを取得できるようです。

xlwingsのrange()はExcel VBAのRange.Item的に使える

xlwingsのrange()を使ってA2セルに「2000」を入力している
  sht.range((2, 1)).value = 2000
は、Excel VBAでは見ない形のコードです。

Excel VBAのRangeオブジェクトのItemプロパティ的に使える例が、ドキュメントにも掲載されています。

最終更新日時:2019-07-03 05:21

[スポンサードリンク]

Home » Python » xlwings » xlwingsでセルに数値を入力する

TrackBack:0

TrackBack URL

Home » Python » xlwings » xlwingsでセルに数値を入力する

「xlwings」の記事一覧

検索


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

.