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
![Excelファイルを作成して、データ入力、For文の入れ子-1](gazo/excel-python_06_01.png)
2. 上記の3行のコードで、シートを選択できているので、連続して値を入力してみます。ここではシートに九九表を作成することにします。
コード内では、いきなりPython × Excel5回でも使ったFor文と range関数を使います。
![Excelファイルを作成して、データ入力、For文の入れ子-2](gazo/excel-python_06_02.png)
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値を引数で指定した場合に、その間の数を指しています。
![Python Range関数](gazo/pythonのfor文Range.png)
4. 全部のループが完了したら、ブックとして保存します。
'ブック.save("九九表.xlsx")'
![Excelファイルを作成して、データ入力、For文の入れ子-4](gazo/excel-python_06_03.png)
OpenPyXLの.save()
5. saveメソッドでExcelブックが保存されたのでColabからダウンロードして開いてみてみましょう。
![Excelファイルを作成して、データ入力、For文の入れ子-5](gazo/excel-python_06_04.png)
6. さて九九表ではつまらない方向けには、range(1,10)をrange(1,100)とすれば九九九九表となり面白くなるかもしれません。
またダウンロードが手作業なので、少し改善します。
以下のコードを追加して、ダウンロードの確認ダイアログまでを表示させることにします。
# 新規ワークブックを作りワークシートを作成 from google.colab import files # 保存したファイルをローカルにダウンロード files.download("九九九表.xlsx")
![Colabのダウンロードの自動化](gazo/excel-python_06_06.png)
7.ダウンロードしたファイルを開くと 九九九九表.xlsxを開くことができました。
![Excelファイルを作成して、データ入力、For文の入れ子-7](gazo/excel-python_06_05.png)
8.
![Excelファイルを作成して、データ入力、For文の入れ子-8](gazo/excel-python_06_08.png)