Home » Python » xlwingsの使い方 » xlwingsでリストをセルに入力する

xlwingsでリストをセルに入力する

動作検証バージョン:Windows 10 Pro(64-bit)+ 32bit Excel(バージョン2212 ビルド15928.20216 Microsoft Store)+ Python 3.8.3 + xlwings 0.24.5

「xlwings リストをセルに」
「xlwings list range 書き込み」
といった検索で時折アクセスがあります。

Pythonのリストを、xlwingsを使ってセルに入力するには、どのようなコードを書けばいいのかを調べていらしたのでしょう。

[スポンサードリンク]

xlwingsでリストをセルに入力する基本

以下のスクリプトを実行すると、xlwingsを使って新規のブックが作成され、アクティブシートのA1:A3セルに[1, 2, 3]と入力されます。

import xlwings as xw

bk = xw.Book()
sht = bk.sheets.active

sht.range('A1').value = [1, 2, 3]

sht.range('A1').value = [1, 2, 3]

の部分は、

sht.range('A1:A3').value = [1, 2, 3]

などと指定しても同じ結果になりますが、左上のセルを1つだけ指定するほうが簡単です。

.options(transpose=True)で縦方向に

先ほどのスクリプトにつづいて、Range.options()メソッドの引数transposeにTrueを指定した以下のコードを実行すると、縦方向のA3:A5セルに[1, 2, 3]が入力されます。

sht.range('A3').options(transpose=True).value = [1, 2, 3]

リストのリストをセル範囲に入力する

先ほどのスクリプトにつづいて、以下のコードを実行すると、A7:C8セルに[[1, 2, 3], [4, 5, 6]]が入力されます。

sht.range('A7').value = [[1, 2, 3], [4, 5, 6]]

リストのリストであれば、表の形で入力が行われます。

Range.options(transpose=True)でリストのリストも向きを変えられる

リストのリストに対しても「.options(transpose=True)」は有効です。

以下のコードでA10:A12セルに[[1, 2, 3], [4, 5, 6]]が入力されます。

sht.range('A10').options(transpose=True).value = [[1, 2, 3], [4, 5, 6]]

Rangeオブジェクトのoptions()メソッドは、pandasのDataFrameをExcelに入力するコードでも使用しています。

最終更新日時:2023-08-09 17:26

[スポンサードリンク]

Home » Python » xlwingsの使い方 » xlwingsでリストをセルに入力する

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

検索


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

.