開発環境
- macOS Catalina - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Python 3.7 (プログラミング言語)
退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング (Al Sweigart(著)、相川 愛三(翻訳)、オライリージャパン)の第Ⅱ部(処理の自動化)、12章(Excelシート)、12.14(演習プロジェクト)、12.14.1(掛け算の表を作成する)の解答を求めてみる。
コード
#!/usr/bin/env python3
import argparse
import os
import openpyxl
from openpyxl.cell.cell import get_column_letter
from openpyxl.styles import Font
print('1.')
parser = argparse.ArgumentParser()
parser.add_argument('number', type=int)
args = parser.parse_args()
n = args.number
wb = openpyxl.Workbook()
sheet = wb.active
font_obj = Font(bold=True)
for row in range(1, n + 2):
for col in range(1, n + 2):
if row == col == 1:
continue
col_str = get_column_letter(col)
cell = sheet[f'{col_str}{row}']
if row == 1:
cell.font = font_obj
cell.value = col - 1
elif col == 1:
cell.font = font_obj
cell.value = row - 1
else:
cell.value = (row - 1) * (col - 1)
wb.save('multiplicationTable.xlsx')
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./multiplicationTable.py 10
1.
% open multiplicationTable.xlsx
%
0 コメント:
コメントを投稿