pythonを使用してExcelファイルの操作を勉強しています。
本日の気づき(復習)は、グループ化に関してです。
pythonでExcelを操作するため、openpyxlというパッケージを使用しています。
上記のようなブック「表」を、集計結果だけの
- D列のグループ化
- 5~18、20~35行をグループ化
された表に変更したいです。
row(column)_dimensions.groupメソッド
行のグループ化
ws.row_dimensions.group(開始行, 終了行,
outline_level=グループ化の改装,
hidden=折りたたむ場合はTrue)
列のグループ化
ws.column_dimensions.group(開始列, 終了列,
outline_level=グループ化の改装,
hidden=折りたたむ場合はTrue)
行(列)のグループ化を行うには
Worksheetのrow(column)_dimensions.groupメソッドを使います。
最終的なコード
from openpyxl import load_workbook
wb = load_workbook('表.xlsx')
ws = wb.active
for row_no in [(5, 18), (20, 35) ]:
ws.row_dimensions.group(*row_no, outline_level=1, hidden=True)
ws.column_dimensions.group('D', outline_level=1, hidden=True)
wb.save('表_グループ.xlsx')
今回、行のグループ化は二か所行いたかったので
for分で繰り返し処理をしています。