▶ 시트 복사 (worksheet copy)
Workbook의 메서드인 copy_worksheet를 이용하면 임의 시트에 대한 복사본을 만들 수 있다.
Workbook은 openpyxl.workbook.workbook 모듈 내에 정의되어 있는 클래스이다.
class openpyxl.workbook.workbook.Workbook(write_only=False, iso_dates=False)
Workbook.copy_worksheet( )
메서드 copy_worksheet는 Worksheet 객체를 입력받는다.
그리고 복사된 Worksheet 객체를 반환한다.
아래의 코드를 실행한 후 엑셀 파일 'sample.xlsx'를 열어 보면,
# python 3.9.5
# openpyxl 3.0.7
from openpyxl import Workbook
workbook = Workbook()
worksheet = workbook.active
worksheet['A1'] = 'Hello openpyxl'
ret_object = workbook.copy_worksheet(worksheet)
print(type(ret_object))
workbook.save('sample.xlsx')
workbook.close()
아래와 같이 시트 'Sheet'의 복사본 'Sheet Copy'가 만들어져 있는 것을 볼 수 있다.
위 코드에서 메서드 copy_worksheet의 반환값은 Worksheet 객체이다.
메서드 copy_worksheet의 반환값인 Worksheet 객체가 기존 시트에 대한 객체인지, 아니면 복사를 통해 새로 만들어진 객체인지를 확인하기 위해 시트 명을 아래와 같이 변경한 후 코드를 실행해 본다.
# python 3.9.5
# openpyxl 3.0.7
from openpyxl import Workbook
workbook = Workbook()
worksheet = workbook.active
worksheet['A1'] = 'Hello openpyxl'
ret_object = workbook.copy_worksheet(worksheet)
ret_object.title = 'Return Worksheet'
workbook.save('sample.xlsx')
workbook.close()
예상했지만 메서드 copy_worksheet는 복사되어 새로 만들어진 시트의 객체를 반환한다.
참고
2021.05.27 - [학습 노트/Python - 별도 라이브러리] - [Python] openpyxl로 엑셀 파일 처리 002. 시트(sheet) 이름 확인 및 새로 추가
'코딩 > 파이썬과 엑셀' 카테고리의 다른 글
[Python] openpyxl로 엑셀 파일 처리 005. Workbook의 시트 객체 리스트를 얻는 두 가지 방법 (0) | 2021.06.07 |
---|---|
[Python] openpyxl로 엑셀 파일 처리 004. load_workbook 함수로 엑셀 파일 불러오기 (0) | 2021.06.06 |
[Python] openpyxl로 엑셀 파일 처리 002. 시트(sheet) 이름 확인 및 새로 추가 (0) | 2021.05.27 |
[Python] openpyxl로 엑셀 파일 처리 001. 새 엑셀 파일 생성 및 저장 (0) | 2021.05.26 |
[2020.11.17] 파이썬 pywin32 패키지를 사용하면서 (0) | 2020.11.17 |