木戸めぐるの巡回動機

~副題はまだない~

Python初心者が「PythonでExcel操作するプログラム作り」に挑む

Python学習が本業のように思えてきた、Python初心者です。

本業の方がマンネリ化してきたせいもあるかもしれませんが……

 

もし、「副業禁止」を定めている会社に勤めている人が、

「ここでの仕事が副業です」って言ったらどうなるんでしょう?

面白そうではありますが、試す気にはなりません。

説æãåãããªã人ã®ã¤ã©ã¹ãï¼ç·æ§ä¼ç¤¾å¡ï¼

「ここでの仕事が副業です」

「お前は何を言っているんだ」

 

閑話休題

 

本日は私が日々使っている「Microsoft Excel」を、Pythonから操作するプログラムを作ろうと思います。

「やってみたい」とは思っていたのですが、Pythonの条件分岐と繰り返しを学習するまではやらないでおこう、というこだわりにより、これまで取りかかれませんでした。

 

「AI Academy」で条件分岐と繰り返しは学習してきたので、ようやく本日やってみようという運びになりました。

aiacademy.jp

それでは、始めましょう。

 

どうやってPythonExcelを操作するの?

Pythonのライブラリを使用して、Excelを操作します。

 

コンピュータ・プログラミングの話で「ライブラリ」と言った場合、リアルに置き換えて表現すると

DIY用のいろんな道具が入っているツールボックス

みたいなものです(例えは大体合ってます、たぶん)。

f:id:kidomeguru:20181101124351p:plain

ハンマーやノコギリを駆使して、カットした木材を釘で固定してやれば、(見た目はともかくとして)椅子が出来上がります。

 

Pythonという開発言語では(他の言語でもそうですが)、このライブラリを利用して色んな機能を実現するプログラムを作ることができます。

 

今回Pythonで使用するライブラリは「OpenPyXL」です。

以下のサイトを参考にして、ライブラリをインストールしていきます。

tonari-it.com

 

pipでOpenPyXLをインストールする

pip(ピップ)とは、Python公式のパッケージ管理ツールで、こいつを使えばライブラリを使用可能になります。

インストールと同時にそんな便利なものを付けてくれるなんて、Pythonは初心者に優しいですね。

 

ただし、pipはPythonをコンピュータにインストールしないと動作しないので、注意です。

Pythonのインストールから始めたい方は以下のサイトを御覧ください。

techacademy.jp

 

以下、Pythonがインストールされている状態でのpip利用手順です。

 

手順① コマンドプロンプトを起動する (WindowsOSの場合)

Winキー+Rキー → 「cmd」と入力してEnter

f:id:kidomeguru:20181101130138p:plain

スタートメニューから起動してもOKです。

 

手順② 「pip install openpyxl」と入力してEnter

f:id:kidomeguru:20181101131204p:plain

シークバーが100%になり・・・

f:id:kidomeguru:20181101130658p:plain

なにやら英語で話しかけられました。

f:id:kidomeguru:20181101130828p:plain

詳しくはわかりませんが、「Successfully」の文字があるからインストール成功だと思います。

 

 手順③ 「pip freeze」と入力してEnter

これでインストールされているPythonライブラリが確認できます。

「openpyxl」が表示されているから大丈夫そうです。

f:id:kidomeguru:20181101131442p:plain

 

[余談] ライブラリをアンインストールするには「pip uninstall ライブラリ名」と入力します。今回はやりませんが。

 

これにて「OpenPyXL」ライブラリのインストール終わりました。

続いてPythonプログラムを作ります。

 

Excelファイルを名前を付けて保存する

excel_control01.py」というプログラムを書いて・・・

f:id:kidomeguru:20181101133611p:plain

 実行すると、プログラムと同じフォルダに「test」というexcelファイルが作られました。成功です!

f:id:kidomeguru:20181101133730p:plain

 

ちなみに、ファイルの保存先を絶対パス指定するなら、以下のようにします。

f:id:kidomeguru:20181101134935p:plain

 

Excelシートを追加して値を書き出すプログラムを作る

Excelブックを作成→文字をセルに入力→シート追加→文字をセルに入力→上書き保存」するプログラムを作りました。以下はソースコード

f:id:kidomeguru:20181101152729p:plain

実行すると、「test」というExcelファイルが作成されます。

 

「test」を開くと、Sheetシートに文字列が縦方向に一文字ずつ入力され、

f:id:kidomeguru:20181101152915p:plain

Sheet1シート(追加したシート)には文字列が横方向に一文字ずつ入力されていることを確認できました。

f:id:kidomeguru:20181101153027p:plain

 

PythonExcel操作するプログラムを作った感想

調べることに疲れました。

プログラム自体は作れましたけど、普段ExcelVBAでやっていることを他の言語でやるのって大変です。

調べたいことは中々見つからないし……

ええ、まだまだ勉強が足りませんね!

 

現場ですぐに使える! Pythonプログラミング逆引き大全 313の極意

現場ですぐに使える! Pythonプログラミング逆引き大全 313の極意