본문 바로가기
업무자동화

행/열 삽입(추가)하기

by 감튜 2023. 4. 5.
반응형

엑셀에서도 줄을 하나 더 늘리고 싶을 때, 혹은 열을 하나 추가 하고 싶을 때가 많잖아요??
지난 시간 표를 가지고 수정을 한번 해보겠습니다.

 

지난 시간까지 만들어진 표입니다.

여기서 윗줄에 열의 이름을 쓰고 싶다고 생각이 들 수 있습니다.

아니면 왼쪽 줄에 행의 이름을 쓰고 싶을 수도 있을 것입니다.

 

from openpyxl import load_workbook

wb = load_workbook(filename='function.xlsx')
ws = wb['Sheet1']

여기까지는 동일합니다. 지난번에 우리가 만들었던 function.xlsx 파일을 불러왔고 Sheet1이라는 시트를 열었습니다.

 

이제 첫 행에 한 행을 추가해보겠습니다.
ws.insert_rows(1)

 

아주 쉽습니다. 너무 직관적으로 이해할 수 있는 코드입니다. 1행에 빈행 하나를 삽입해라.

 

 

혹시 이런 경우도 있지 않을까요? 1행부터 10행까지 빈행을 추가해라. 어떤 방식으로 해볼 수 있을까요?

일단 우리가 먼저 드는 생각은 1열부터 10열에 대한 추가 행동을 반복하면 되겠구나라고 생각을 할 겁니다. 

그렇다면 코드를 만들어보죠.


ws.insert_rows(1)
ws.insert_rows(2)
ws.insert_rows(3)
ws.insert_rows(4)
ws.insert_rows(5)
ws.insert_rows(6)
ws.insert_rows(7)
ws.insert_rows(8)
ws.insert_rows(9)
ws.insert_rows(10)

wb.save('function.xlsx')
wb.close()

이렇게 생각하셨나요?? 결과를 한번 보여드리겠습니다.

 

 

정답!!

 

하지만 번거롭지 않나요? 더 편한 방법이 있습니다. 

 

ws.insert_rows(1,10)
이거 한 방에 끝납니다.  1행에서부터 10개의 행을 삽입이라는 뜻입니다. 

처음부터 알려드리지 않은 경우는 코딩은 암기가 아닙니다. 원리를 이해하고 필요한 것은 구글링이나 검색을 통해 찾아가면서 해야 하는 게 가장 중요한 핵심이기에 한번 더 생각할 기회를 드리고 싶었습니다. 

 

1열부터 2개의 열을 삽입하는 것은 어떻게 할까요?

구조적으로는 똑같습니다. 단지 rows 가 columns로 바뀌기만 하면 됩니다.

 

ws.insert_columns(1,2)

이제 충분히 행삽입/열삽입에 대해 이해하셨죠?

마음껏 응용 가능하시리라 믿습니다.

 

 

반응형

댓글