【Python】Worksheet.〇〇_dimensions로 숨기기 해제

파이썬을 사용하여 Excel 파일 작업을 공부하고 있습니다.
오늘의 주의(복습)는, 숨기기 설정의 해제에 관한 것입니다.
파이썬에서 Excel을 조작하기 위해 openpyxl이라는 패키지를 사용하고 있습니다.



위와 같은 숨겨진 상태로 하는 열을 일괄 해제하는 것이 목표입니다.

Worksheet.〇〇_dimensions


# 行の非表示解除
ws.row_dimensions[行番号].hidden = False

# 列の非表示解除
ws.column_dimensions[列名].hidden = False

여기에서 행과 열 각각을 숨길 수 있습니다.
덧붙여서, 숨기고 싶은 경우는 「False」를 「True」로 변경합니다.

다음에 서서 오는 문제가 「열명」입니다・・・.

Cell.column_letter 속성


cell.column_letter

셀의 열 이름은 알파벳입니다.
게다가, 「Z」의 다음은 「AA」, 「AB」・・・라고 계속됩니다.
그래서 여기에서 알파벳 이름을 가져옵니다.

Worksheet.max_column 속성



마지막으로 데이터가 입력된 최대 열까지 숨기기 해제 처리를 하고 싶기 때문에
ws.max_column

여기에서 가져옵니다.
이번에는 열뿐이었지만 그 밖에도
  • ws.max_row : 데이터가 입력 된 최대 행
  • ws.min_row : 데이터가 입력되는 최소 행
  • ws.max_column : 데이터가 입력 된 최대 열
  • ws.min_column : 데이터가 입력되는 최소 열

  • 여기가있었습니다. 둘 다 사용 빈도 높을 것 같습니다!

    이쪽을 합쳐서 이렇게 되었습니다!

    column_hidden.py
    from openpyxl import load_workbook
    
    wb = load_workbook('〇〇地区時給計算.xlsx')
    ws = wb.active
    
    # 行の非表示を解除
    # for row_no in range(2, ws.max_row + 1):
    #     ws.row_dimensions[rouw_no].hidden = False
    
    # 列の非表示を解除
    for col_no in range(2, ws.max_column + 1):
        # セルの列名を取得
        col_alphabet = ws.cell(row=1, column=col_no).column_letter
        ws.column_dimensions[col_alphabet].hidden = False
    
    wb.save('〇〇地区時給計算_変更後.xlsx')
    

    여담: 숨기기 및 그룹화



    만약 때문에 열「D~E」는 비표시, 열「G~J」는 그룹화로서 숨기고 있는 상태였습니다만
    둘 다 해제되었습니다.

    일부 행이나 열을 숨기고 싶을 때
    "숨기기"또는 "그룹화"중 하나를 사용한다고 생각합니다.
    개인적으로는 「그룹화」를 추천합니다.

    제일 이유는 숨기고 있는 곳이 알기 쉽기 때문.

    숨기면 눈에 띄지 않아 눈치채지 않거나 다시 숨기고 싶을 때 숨기는 장소를 잊고 있기 때문에.
    어쨌든, 이번 기능은 거의 차례는 없을까라고 하는 느낌이군요.

    좋은 웹페이지 즐겨찾기