についてのリファクタリング(その2)
改善内容
- 改行処理をバッファを使った定型パターンに変更
- データを一気に代入(append) 参考
- 各計算式を一つのリストにまとめる
変更後のソースコード全体:
"""計算練習ドリルを作成
改行処理にバッファー活用+appendで行ごと書き込むバージョン
"""
import random
import openpyxl
wb = openpyxl.Workbook() #新規ワークブックを作成
sheet = wb.active
# 各計算式を一つのListとして取り扱うと理解しやすい
list_ = [[a, '+', b, '=', ''] for a in range(1, 10) for b in range(1, 10)]
random.shuffle(list_)
buf = [] #dataを一時ため込む変数
for v in list_:
if len(buf) > 25: #一行に25列以上データがある場合は改行
sheet.append(buf)
buf=[]
buf.extend(v) #buf内にデータを一時的に追加保存
sheet.append(buf) #最終行書き込み
wb.save('output3.xlsx')