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系関連記事: プログラミング、開発関連

関連記事

奴隷制を連想させるとして、Pythonで「master」「slave」といった単語が削除される

1: 田杉山脈 ★ 2018/09/14(金) 20:40:23.37 _USER
Pythonのバグトラッカーに、「Avoid master/slave terminology」という要望が寄せられている。これは「多様性のため」に奴隷制度を連想させる「master」「slave」という単語を削除するほうが好ましいという提案だ(Slashd…

日本政府、フレッツ光ネクスト1Mbpsより高速なADSLを強制排除する方針

1: 高輝度青色変光星(北海道) [ニダ] 2019/08/19(月) 01:02:17.90 BE:422186189-PLT(12015)
政府が第5世代(5G)移動通信システムの全国展開に向け、地方での光ファイバー網の整備を急いでいる。 今年度の予算額を前年度(6億7000万円)比約8倍の52億円に増や…

本当にあった怖いプログラム(クソコード事例集)

1: ノチラ ★ 2018/04/27(金) 21:01:14.39 _USER
命名規則に関連するクソコード クラス名、メソッド名、変数名などのネーミングを誤るとクソコード認定されてしまいます。会社やプロジェクトごとに多少のルールの違いはあるにせよ、どこに行っても漏れなくクソコード認定…

部屋にいるだけでスマホ充電 「ワイヤレス充電」実用化へ

1: 虎々ちゃん(四国地方) [US] 2019/06/24(月) 05:57:24.24 ● BE:201615239-2BP(2000)
コンセントにつながなくても部屋の中にいるだけで、スマートフォンなどが充電できる技術の開発に東京大学の研究グループが取り組んでいて、今後、企業と協力して実用化を急ぐことに…

AIの顔認証で本人確認 スマホで住民票入手可能に 東京 渋谷

AIの顔認証で本人確認 スマホで住民票入手可能に 東京 渋谷

1: ムヒタ ★ 2020/03/29(日) 07:37:28.64 _USER
AI=人工知能による本人確認を活用し、スマートフォンのアプリだけで住民票などを郵送で取り寄せられる全国でも初めての行政サービスを東京・渋谷区が来月から始めることになりました。 取り寄せられるのは住民票や課…