0
1

【Python入門】openpyxlを使ってみる

Last updated at Posted at 2023-12-20

Body:この記事は、【完走したい】楽しくいろいろやる Advent Calendar 2023の12日目です。
PythonでExcelを作れると聞いたので、自分でも試してみます。
googleにColaboratoryとかいうのがあって、無料でpythonを学習できたのでこれを使います。

Excelを動かす

Excelをpythonで動かせます。同じ作業を繰り返すときなどに便利です。
Pythonのopenpyxlを使ってExcelファイルを作ると、作成者がopenpyxlになります。
スクリーンショット 2023-12-19 192829.png

どうやって動かすか

以下のように作ります

import openpyxl as px
# pythonでExcelファイルを動かすにはこれが必要です
def AdventA():
   # :をつけるとTabキーを打った状態になる
   wb = px.Workbook()
   # openpyxlはpx。pxのexcel(workbook)
   ws = wb.active
   # 現在のシート
   wb.save("AdventTest2023.xlsx")
AdventA()

必要と思われる個所には説明を加えました。
まず、importでopenpyxlをpxという名前でインポートします。
Workbookがwbという名前で動くようにします。
Wsで現在のシートを表せるようにしています。
最後に、saveを使ってExcelを生成します。
まっさらで何も書かれてないExcelが生成できました。

いろいろ書きこむ

for文などを組み合わせることで、繰り返し処理をさせることができます。
せっかくなので、100行目まで一列目に1から順番に数字を入れて、2列目(n<=100)に1から100までの数字を入れてみます。100が出たら、あたりに変えます。

import openpyxl as px
import random
from random import randint

def AdventB():

  wb = px.Workbook()
  # openpyxlはpx。pxのexcel(workbook)
  ws = wb.active
  # 現在のシート
  for a in range(1,100):
    ws.cell(row=a, column=1, value=a)
    RndA = randint(0, 100)
    if RndA == 100:
      Tex = "当たり"
    else:
      Tex = RndA
      
    ws.cell(row=a, column=2, value=Tex)
   
    a = a + 1
  wb.save("AdventTest2023.xlsx")
AdventB()

できました。
これを実行してできたExcelファイルが
スクリーンショット 2023-12-20 161641.png

できました。

まとめ

Excelファイルはpythonでも作れる。

参考

0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1