VBAユーザーの為のPYTHON
VBAユーザーの為のPYTHON 06回
Excelファイルを作成して、データ入力、For文の入れ子
動画の前半では、コードに入力することに慣れてもらうだめに、Pythonで四則演算をしています。
四則演算についてPythonコードでの書きかたは、こちらを参照してください。
【動画の内容】PythonでExcelブックを新規作成後操作する
【動画で学べる内容】
●1.print関数は指定したデータを「出力(表示)」する
●2.四則演算を書いてみる
●3.Colaboratory上で、Excelのブックを作成、import openpyxl
●4.For文を入れ子で使う。九九表を作成
いきなりPython × Excel6回、Colab上でExcelファイルを作成して、データ入力、For文の入れ子、作成ブックをダウンロード。
1.今回は、 OpenPyXLを使ってExcelファイルを作成したり、読み書きします。
OpenPyXLは、PythonでExcelファイルを読み書きするためのライブラリです。Colabで使用するためには、import openpyxlとコードを記述してやります。
OpenPyXLライブラリが提供するWorkbookクラスを使用すると、新規にExcelのワークブックを作成でき、その作成したワークブックはsaveメソッドでExcelファイルとして保存することもできます。
そして、ブックという変数に'excel.Workbook()'で作成したブックを入れてやります。
'シート = ブック.active' とすると現在アクティブなワークシートを選択できます。
とは言っても これはあくまで メモリ以上に作成されているので、保存してそれを開くまでは、 実物として見ることはできません。ですからイメージしてください。
import openpyxl as excel # 新規ワークブックを作りワークシートを作成 ブック = excel.Workbook() シート = ブック.active
2. 上記の3行のコードで、シートを選択できているので、連続して値を入力してみます。ここではシートに九九表を作成することにします。
コード内では、いきなりPython × Excel5回でも使ったFor文と range関数を使います。
for文の入れ子では、始めのFor文で行をループしています。
入れ子のFor文では、列に対してループしています。
import openpyxl as excel # 新規ワークブックを作りワークシートを作成 ブック = excel.Workbook() シート = ブック.active # 連続でセルに値を設定する --- (*1) for gyou in range(1,10): # 九九表なので、1から9までの範囲でループ for retu in range(1,10): # セルを取得して値を設定 --- (*2) cell = シート.cell(gyou, retu) cell.value = gyou * retu # ファイルを保存 ブック.save("九九表.xlsx")
3. 'cell = シート.cell(gyou, retu)'でセルを特定しています。
'cell.value = gyou * retu'で値を代入しています。
またRange関数で、Start値とStop値を引数で指定した場合に、その間の数を指しています。
4. 全部のループが完了したら、ブックとして保存します。
'ブック.save("九九表.xlsx")'
OpenPyXLの.save()
5. saveメソッドでExcelブックが保存されたのでColabからダウンロードして開いてみてみましょう。
6. さて九九表ではつまらない方向けには、range(1,10)をrange(1,100)とすれば九九九九表となり面白くなるかもしれません。
またダウンロードが手作業なので、少し改善します。
以下のコードを追加して、ダウンロードの確認ダイアログまでを表示させることにします。
# 新規ワークブックを作りワークシートを作成 from google.colab import files # 保存したファイルをローカルにダウンロード files.download("九九九表.xlsx")
7.ダウンロードしたファイルを開くと 九九九九表.xlsxを開くことができました。
8.