22. [OpenPyXL] 엑셀 문서 저장하기 / 시트 추가하기 / 셀에 입력하기

by 이니스프리 posted Feb 02, 2020
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄



안녕하세요?


지난 강의에서는 엑셀 문서/시트/셀에 접근하여 읽는 방법을 살펴보았습니다.


이번 강의에서는 문서/시트/셀을 쓰는 방법을 다뤄보겠습니다 ^^




1. 엑셀 문서의 저장


import openpyxl
wb = openpyxl.load_workbook('filename.xlsx')
sheet = wb.get_active_sheet()
wb.save('filename_1.xlsx')


.save() 메서드에 파일명을 전달하면 파일을 저장할 수 있습니다.


너무 당연한 것이지만 workbook 객체를 조작한 내용이 일괄적으로 반영되어 파일에 저장됩니다.


참고로 엑셀에서 해당 파일이 열려있다면, openpyxl에서 파일을 열거나 닫을 때 에러가 발생할 수 있으니 주의하세요!


엑셀을 다루는 다른 파이썬 모듈에서도 유사한 문제가 발생합니다.




2. 시트의 추가 및 삭제


import openpyxl
wb = openpyxl.Workbook()
wb.create_sheet(index=0, title='Sheet No. 1')


.create_sheet() 메서드에서 index와 title 키워드는 생략 가능합니다.


title을 지정하지 않는 경우에는 sheet + 번호의 형식으로 자동으로 지정됩니다.


만약 sheet 명을 알고 싶은 경우에는 .get_sheet_names() 메서드를 사용하면 현재 문서의 모든 시트의 이름을 리스트로 반환합니다.


한편 생성된 시트를 삭제하려면 .remove_sheet() 메서드를 사용하면 됩니다.




3. 셀에 값을 지정하기 (값 입력 또는 변경)


import openpyxl
wb = openpyxl.Workbook()
sheet = wb.get_sheet_by_name('sheet')
sheet['A1'] = 'SFU'


마치 딕셔너리의 키에 값을 지정하는 것과 유사한 방법으로 간단하게 셀에 값을 입력할 수 있습니다!


한편 행렬이 길어지면 알파벳을 사용하기 번거롭기 때문에, sheet.cell(row=10, column=20).value = 135 이런 방식으로 사용할 수도 있습니다.




이상으로 엑셀 문서/시트/셀에 쓰는 방법을 살펴보았습니다.


다음 강좌에서는 보기 좋은 문서를 작성하기 위해 셀의 스타일을 설정하는 방법에 대해 다뤄보겠습니다 ^^



Articles

1 2
서버에 요청 중입니다. 잠시만 기다려 주십시오...