본문 바로가기

코딩/파이썬과 엑셀

openpyxl로 엑셀 다루기 024. 열 또는 행 추가, 삭제 - insert_cols, insert_rows

열 또는 행 추가, 삭제 - insert_cols, insert_rows

다음의 코드를 작성한 후 실행해 엑셀 샘플 파일을 생성한다.

 

<코드 1>

from openpyxl import Workbook

wb = Workbook()
ws = wb.active

for i in range(1, 11):
    for j in range(1, 11):
        ws.cell(i, j, value=f'{i}, {j}')

wb.save('sample.xlsx')

 

 

openpyxl에서 임의 열을 추가하고자 할 때 Worksheet 클래스의 insert_cols 메서드를 사용한다.

 

아래의 코드는 sample.xlsx 엑셀 파일에 대하여 다섯번째 열인 E열에 하나의 새로운 열을 추가하는 코드이다.

 

<코드 2>

from openpyxl import load_workbook

wb = load_workbook('sample.xlsx')
ws = wb.active

ws.insert_cols(5)

wb.save('sample.xlsx')

 

 

다음의 코드는 sample.xlsx 엑셀 파일에 대하여 다섯번째 열인 E열에 4개의 새로운 열을 추가하는 코드이다.

 

<코드 3>

from openpyxl import load_workbook

wb = load_workbook('sample.xlsx')
ws = wb.active

ws.insert_cols(5, 4)

wb.save('sample.xlsx')

 

 

insert_cols 메서드의 파라미터 정의는 아래와 같다.

 

insert_cols(idx, amount=1):

 

openpyxl에서 임의 행을 추가하고자 할 때 Worksheet 클래스의 insert_rows 메서드를 사용한다.

 

아래의 코드는 sample.xlsx 엑셀 파일에 대하여 다섯번째 행에 하나의 새로운 행을 추가하는 코드이다.

 

<코드 4>

from openpyxl import load_workbook

wb = load_workbook('sample.xlsx')
ws = wb.active

ws.insert_rows(5)

wb.save('sample.xlsx')

 

 

다음의 코드는 sample.xlsx 엑셀 파일에 대하여 다섯번째 행에 4개의 새로운 행을 추가하는 코드이다.

 

<코드 5>

from openpyxl import load_workbook

wb = load_workbook('sample.xlsx')
ws = wb.active

ws.insert_rows(5, 4)

wb.save('sample.xlsx')

 

 

insert_rows 메서드의 파라미터 정의는 아래와 같다.

 

insert_rows(idx, amount=1)

 

openpyxl에서 임의 열을 삭제하고자 할 때 Worksheet 클래스의 delete_cols 메서드를 사용한다.

 

아래의 코드는 sample.xlsx 엑셀 파일에 대하여 다섯번째 열인 E열을 시작으로 4개의 열을 삭제하는 코드이다.

 

<코드 6>

from openpyxl import load_workbook

wb = load_workbook('sample.xlsx')
ws = wb.active

ws.delete_cols(5, 4)

wb.save('sample.xlsx')

 

 

delete_cols 메서드의 파라미터 정의는 아래와 같다.

 

delete_cols(idx, amount=1)

 

openpyxl에서 임의 행을 삭제하고자 할 때 Worksheet 클래스의 delete_rows 메서드를 사용한다.

 

아래의 코드는 sample.xlsx 엑셀 파일에 대하여 다섯번째 행을 시작으로 4개의 행을 삭제하는 코드이다.

 

<코드 7>

from openpyxl import load_workbook

wb = load_workbook('sample.xlsx')
ws = wb.active

ws.delete_rows(5, 4)

wb.save('sample.xlsx')

 

 

delete_rows 메서드의 파라미터 정의는 아래와 같다.

 

delete_rows(idx, amount=1)