pythonで席替えアプリを組んだ話
お久しぶりです、そーとくです。
前からぼちぼちPythonの勉強をしていて、何となくわかってきたので席替えアプリを作ってみました。
やりたいこととしては
- 34人分の出席番号をランダムにならべかえる
- Excelに書き出す
というシンプルな感じ。
PythonからExelを編集するにはopenpyxlというライブラリが便利なのでそちらをインストール。
pip install openpyxl
こことかを参考にポチポチ書いてみる。
Python openpyxlでExcelを操作 - Qiita
とりあえず今回使うライブラリはopenpyxlとrandomなのでそちらをimport
import openpyxl as px
import random
ワークブックを作成
ワークシートの名前を決める
wb = openpyxl.Workbook()
sheet = wb.get_sheet_by_name('sheet')
sheer.title = '席替え'
出席番号のリストを作成、シャッフル
seki = list(range(1,35))
random.shuffle(seki)
各セルにリストの各値を代入
1列6人で最後の列だけ4人で6列なので
sheet[A1].value = seki[0]
sheet[A2].value = seki[1]
sheet[A3].value = seki[2]
sheet[A4].value = seki[3]
sheet[A5].value = seki[4]
sheet[A6].value = seki[5]
...
sheet[F4].value = seki[34]
…言い訳をさせてもらうとこれ書いた時レポート終わったばっかで何も考えたく無かったんです…
ついでにその場で出力も
print(sheet[A1].value,sheet[B1].value ,sheet[C1].value,sheet[D1].value,sheet[E1].value,sheet[F1].value)
print(sheet[A2].value,sheet[B2].value ,sheet[C2].value,sheet[D2].value,sheet[E2].value,sheet[F2].value)
…
print(sheet[A6].value,sheet[B6].value ,sheet[C6].value,sheet[D6].value,sheet[E6].value)
…まあD科生だしね()
最後にxlsxファイルを保存
wb_save('ディレクトリ//ファイル名')
結果:きちんとExcelに出力を書き出せた。
ただしこれ、1度書き出すと書き出したファイル消さないと新しく書き出せないので注意。
とりあえずもっとシンプルにかけるはずなので書いて、条件とか付けたりしたいですね。
ではさようなら。