【Python】Worksheet.insert_rows로 정해진 간격에 빈 행을 삽입한다.

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


위와 같은 표에 3행마다 공백행을 넣어 갑니다.

Worksheet.insert_rows 메서드


ws.insert_rows(行を挿入する位置)

이 밖에도 이런 것이 있었습니다.
  • ws.insert_row : 행 삽입
  • ws.insert_cols : 열 삽입
  • ws.delete_row : 행 삭제
  • ws.delete_cols : 열 삭제

  • 표의 시작부터 순서대로 행을 추가 (삭제)하면
    추가 (삭제) 한 행 수를 생각하면서 다음 위치를 결정해야합니다
    나는 좌절했습니다・・・.
    그래서 마지막 줄부터 순서대로 줄을 넣기로 결정했습니다.
    위의 표라면 행을 삽입하고 싶은 위치는 「12행째」 「9행째」 「6행째」입니다.
    요 전날 공부 한 Worksheet.max_row 속성을 사용하여

    insert_row.py
    from openpyxl import load_workbook
    
    wb = load_workbook('〇〇地区一覧.xlsx')
    ws = wb.active
    
    num = 3
    start_row = 2
    rast_row = ws.max_row - ((ws.max_row - start_row - 1) % num)
    print(f'データ入力最終行番号は{ws.max_row}です')
    print('挿入する行番号は')
    for row_no in range(rast_row, num+start_row, -num):
        print(f'{row_no}')
        ws.insert_rows(row_no)
    
    wb.save('〇〇地区一覧_行挿入.xlsx')
    

    이런 기술로 해 보았습니다.
    동작을 확인하기 위해 print 함수를 사용하여 확인합니다.
    이 근처는 시라카뮤님에게 가르쳐 주신 부분입니다. 감사합니다!
    insert_row.py를 실행해 보면 ...


    했어! 제대로 작동하고 있습니다.

    동작 확인하면서라고 부드럽게 기술이 진행되네요! 고맙습니다!

    덧붙여서, 열로 삽입하는 경우는 여기입니다.

    insert_col.py
    from openpyxl import load_workbook
    
    wb = load_workbook('○○地区一覧_横.xlsx')
    ws = wb.active
    
    num = 2
    start_column = 2
    rast_column = ws.max_column - ((ws.max_column - start_column - 1) % num)
    
    print(f'データ入力最終列番号は{ws.max_column}です')
    print('挿入する列名は')
    for col_no in range(rast_column, num+start_column, -num):
        col_alphabet = ws.cell(row=1, column=col_no).column_letter
        print(f'{col_alphabet}列')
        ws.insert_cols(col_no)
    
    wb.save('○○地区一覧_横_列挿入.xlsx')
    

    삽입하는 열명이 숫자라고 알기 어려웠기 때문에 표시만 알파벳 표기로 했습니다.

    좋은 웹페이지 즐겨찾기