「複数のExcelファイルから、ある特定の数値を合計できないかな」
という思いつきでプログラムを作成しました。
イメージにするとこんな感じで、こちらを元にコーディングしました。
![Excelのイメージ図](https://totonoubiz.com/wp-content/uploads/2024/02/image_python_excel.webp)
やり方は色々あると思いますが、こんな形で実現することができました!
※対象のExcelファイルはすべて同フォルダ内にあるものとします。
import openpyxl
from glob import glob
files=sorted(glob("*xlsx"))
SUM=0
for file in files:
wb=openpyxl.load_workbook(file)
ws=wb.worksheets[0]
number=int(ws.cell(2,2).value.split("名")[0])
SUM=SUM+number
print(SUM)
実行すると数が出力されます。(今回は7と出て正解!)
考え方
globで全てのExcelファイルを取得してopenpyxlで読込む。
今回は拡張子が”.xlsx”のファイルをすべて取得していますが、ケースバイケースで調整してください。
人数の値が入っているExcelの2行目、2列目の人数を、split関数で“名”の前の値のみを取得する。
人数を合計するために、2行目、2列目のセルを数値(int型)に変換し、numberという変数に代入。
for文を使って合計値(SUM)を計算して完成!
Pythonを使うと色々なことが実現できて、とても楽しいですね!