質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.38%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

1280閲覧

python スプレッドシート まとめて更新

goki_gottan

総合スコア168

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

2クリップ

投稿2021/04/03 08:54

Pythonでスプレッドシートを読み書きしております。
スプレッドシートには、関数が沢山あるため、セルの更新が遅いです。
時折、更新がうまくいかずして飛ばしてしまっていることがあるようです。

そこで1セルずつ書き込み更新を止めて、セルリストを作り、セルリストをまとめて更新としたいのですが、
レンジの書き方が分からず、困っております。

隣合うセルの場合は、
cell_list=ws.range(’B7:C7’)と書けますが、
B7、C7、G7、H39とあった場合、セルはどのようにして書くのでしょうか?
また、
for cell in cellist;
とした場合、離れているセルの順番はどうなるのでしょうか?

宜しくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

B7、C7、G7、H39とあった場合、セルはどのようにして書くのでしょうか?
離れているセルの順番はどうなるのでしょうか?

xlwingsを使っていると仮定した上での例ですが

import xlwings as xw xb = xw.Book(r'new.xlsx') cell_list = xw.Range('B7, C7, G7, H39') for cell in cell_list: print(cell.value)

のように書けます。

(xw.Range('B7, C7, G7, H39')のように指定した場合、カンマで区切って指定したセル('B7, C7, G7, H39')の間のセルは無視されて、指定したセルだけがcell_listの中に順番に入ります。)

投稿2021/04/05 12:18

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

質問の内容にそのまま答えるとB7:H39までrangeで指定するのが定石です。

具体的なデータ例がないので何とも言えませんが、A1:C100までがXというデータ、C1:E:100までがYというデータ。
という事であれば、それぞれの範囲別に取得(更新)するのが良いかと思います。

※具体的なデータ例、スクリプトのサンプルなどがあればもう少し違う回答の仕方があるかもしれません。

投稿2021/04/05 05:39

編集2021/04/05 05:40
yamap55

総合スコア1376

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

goki_gottan

2021/04/05 12:00

範囲を別にするしかないんですか? B7:H39までで、Xの入らない、使用しないセルはどうするのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.38%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問