Python 엑셀 시트 추가 삭제 방법 openpyxl

파이썬으로 엑셀 파일에 시트를 추가하거나 삭제하는 방법을 알아보겠습니다.

먼저 엑셀 파일을 다루기 위해 openpyxl을 임포트 해 사용하겠습니다.

 

엑셀 시트 추가 

엑셀에 시트를 추가하기 위해서는 create_sheet() 함수를 사용합니다.

워크북오브젝트.create_sheet()

 

create_sheet() 함수를 사용하면 마지막 시트 뒤에 새로운 시트가 추가가 됩니다.

추가할 시트 이름을 지정하지 않으면 Sheet숫자로 시트 이름이 정해집니다.

시트 이름을 지정하기 위해서는 title에 지정하고 싶은 시트 이름을 설정합니다.

워크북오브젝트.create_sheet(title=’NewSheet’)  

 

새로운 엑셀 오브젝트를 생성해 새로운 엑셀 시트를 추가하고 엑셀 파일을 생성하는 예제를 보겠습니다.

import openpyxl
wb = openpyxl.Workbook()
wb.create_sheet(title='NewSheet')
wb.save('test.xlsx')

 

새로 생성한 엑셀 파일에 NewSheet라는 시트를 추가하고 test.xlsx이라는 이름으로 엑셀 파일을 생성했습니다.

시트를 추가할 때 위치를 지정할 수도 있습니다.

위치를 지정하기 위해서는 index 파라미터를 설정합니다.

import openpyxl
wb = openpyxl.Workbook()
wb.create_sheet(index=0, title='NewSheet')
wb.save('test.xlsx')

 

NewSheet 시트를 맨 앞에 추가했습니다.

엑셀 파일 인덱스는 0부터 시작합니다.

예제에서는 index=0으로 설정했기 때문에 새로 추가한 시트는 맨 앞에 추가가 됩니다.

 

엑셀 시트 삭제

엑셀에서 시트를 삭제하기 위해서는 remove_sheet() 함수를 사용합니다.

remove_sheet() 함수 사용 방법을 보겠습니다.

워크북오브젝트.remove_sheet(워크북오브젝트[시트이름])  

 
wb.remove_sheet(wb['NewSheet'])

 

remove_sheet() 함수에 시트명을 지정할 때 주의 점으로는 해당 엑셀의 시트명을 직접 지정하면 안 됩니다.

엑셀 파일을 불러온 워크오브젝트[‘시트명’] 형태로 지정을 해야 합니다.

또는 get_sheet_by_name() 함수를 사용해 시트명을 지정해도 됩니다.

wb.remove_sheet(wb.get_sheet_by_name('NesSheet'))

 

주의점으로는 remove_sheet() 또는 get_sheet_by_name() 함수를 사용해 엑셀 시트를 삭제하고 나서 save() 함수로 파일을 저장해야 합니다.

파일을 삭제하고 나서 저장하지 않으면 해당 엑셀 파일에 반영이 안 됩니다.

댓글