IT、ガジェットネタまとめ速報

IT技術やガジェットネタに関するみんなの反応のまとめをチョイスしてお届け!

Web系関連記事: プログラミング、開発関連

VBAでシコシコ自動化しているやつ、Pythonを覚えろ! Pythonで「脱VBA」する方法

投稿日:

1: エアロモナス(宮城県) [US] 2020/02/09(日) 12:28:46.70 ● BE:601381941-PLT(13121)
Pythonで「脱VBA」、Excelの行番号を記述せずにセルを指定する方法

Excelデータをプログラムで扱うのなら、プログラミング言語はVBA(Visual Basic for Applications)が定番です。
しかし必ずしもVBAを使う必要はありません。筆者はPythonを使ってExcelデータの操作を自動化することを
お勧めします。Pythonを使えば「脱VBA」を進められます。

PythonでExcelデータを操作するには、前回までに解説してきたように、行/列を指定してワークシートのセルに
アクセスするのが基本です。ワークシートはイテラブル・オブジェクトとして行を返しますし、行も同様にセルを返します。
イテラブル・オブジェクトを活用すれば、直接行番号、列番号を記述せずに読み込むセルを指定することができます。

sample.xlsxというExcelファイルを作って、動作を確かめてみましょう。Excelファイルは「.¥data」フォルダーに入っているとします。

no title

このファイルのワークシートには、データはA1からF5まで整然と入力されています。

次のプログラムを使うと、sample.xlsxを読み込んでworkbookのsheetからrow(行)を取得し、rowからcell(セル)を
取得して順に出力していくことができます。

no title

■対象のワークシートから、データ範囲を自動で取得するプログラム

このコードを、Pythonの開発環境、ここでは「Visual Studio Code」で入力し、動かしてみます。処理結果を、
画面下部の「ターミナル」で確認してみましょう。

no title

ワークシート上の各行のセル内容が、列順の通りに1行ずつ出力されていることがわかります。
このようにデータが1つの範囲(Range)に規則的に入力されている場合は、for row in sheet:でデータ範囲の
各行での繰り返しを指示し、for cell in row:で処理対象の行のセルに順にアクセスすることができます。
異なるファイルから読み出す時でも、いちいち「どこからどこまで」をプログラムで記述し直す必要はありません。便利ですね。

でも、データが整然と並んでいなかったり、データのないセルが範囲内にあったりする場合はどうなっているのでしょうか。
列の終わり、行の終わりをどうやって判断しているのか、調べてみましょう。

続きはソースで

https://tech.nikkeibp.co.jp/atcl/nxt/column/18/01174/011700003/

引用元: http://hayabusa9.5ch.net/test/read.cgi/news/1581218926/

続きを読む

このまとめの続きはコチラ!

-Web系関連記事: プログラミング、開発関連

関連記事

建設業の足元にも及ばない、IT業界は最も遅れた労働集約型産業

1: 田杉山脈 ★ 2018/08/06(月) 16:18:26.04 _USER
日本のIT業界の関係者は、自分たちの業界が建設業界によく似ていると思っている。さらに心ある人は「ITはハイテク産業のはずなのに労働集約型の建設と同じだから、日本のIT業界はダメなんだ」と嘆く。確かに多重下請け構…

「バックアップ」してる?

1: 雪ちゃん(北海道) [US] 2019/10/09(水) 20:01:16.13 BE:422186189-PLT(12015)
2008/09/14(日) 22:30:48.60 ID:mNrtA2B90 深夜のメンテナンス作業で眠くて眠くて、ユーザーの伝票明細テーブルを間違ってTRUNCATEした。 ROLLBACKも効かない。 あせってArcserve…

寺でプログラミング教室 現代版寺田屋に集う子供達

1: 名無しさん@涙目です。(大阪府) [US] 2018/09/22(土) 17:06:03.56 ● BE:121394521-2BP(3112)
 江戸時代の子供たちが読み書きを学んだ「寺子屋」が、IT人材育成に向けた「プログラミング」教室として広がりつつある。 全国各地で生活圏の中にある寺社で、日本文化…

中国、台湾人材3000人引き抜き 半導体強化へ

1: 田杉山脈 ★ 2019/12/03(火) 23:22:06.17 _USER
中国が高度な半導体人材を抱える台湾からの引き抜きを加速している。対象は世界大手の台湾積体電路製造(TSMC)の経営幹部から現場技術者まで幅広い。中国が2015年に半導体強化を打ち出してから特に動きが加速し、これま…

ファミコンのとある忍者ゲームのソースコードが公開される「ソース見られるの恥ずかしい」

ファミコンのとある忍者ゲームのソースコードが公開される「ソース見られるの恥ずかしい」

1: マレーヤマネコ(やわらか銀行) [US] 2020/01/13(月) 13:14:04.65 ● BE:487816701-PLT(13060)
ツイッターでポロっとつぶやいたのだけど、ここでも記事をば。 某プログラマが34年前に発売された某有名ファミコンゲームのソースをgitに公開したので、以下にリンクを置…