파이썬으로 엑셀파일을 다루는 라이브러리
코드를 작성하는 시간이 필요하지만, 엑셀로 작업하는것보다 처리속도가 훨씬 빨라, 반복적으로 같은 업무를 처리해야하는 경우 유용하다.
설치
pip install openpyxl
사용방법
import openpyxl as xl
# 엑셀파일 객체화
newWb = xl.Workbook() # 새로 만들기
loadWb = xl.load_workbook(파일명) # 엑셀파일 불러오기, 파일명은 절대경로를 추천
loadWb.save(파일명) # 저장하기
loadWb.close() # 엑셀파일 닫기 (finally에 사용하는 것을 권장)
# 시트 조작 (객체화된 엑셀 파일은 loadWb로 함)
selectWs = loadWb.active # 활성화된 시트 선택
loadWb.create_sheet(시트명) # 새로운 시트 생성
selectWs = loasWb[시트명] # 시트 선택
selectWs.title = 시트명 # 워크시트의 이름 변경
# 셀 조작 (row와 column은 1부터 시작)
cell = selectWs['A1'] # 셀 객체 (소문자 가능)
cells = selectWs['A1':'C3'] # 범위 지정 튜플 객체
# cells 반환 순서: (('A1','A2','A3'),('B1','B2','B3'),('C1','C2','C3'))
cellGroup = selectWs.column_dimensions.group('H','Z',hidden=True) # H행부터 Z행까지 숨김
cellGroup = selectWs.row_dimensions.group(3,10,hidden=True) # 3열부터 10열까지 숨김
selectWs['A1'].value = 셀내용 # 시트의 A1셀 내용을 변경
selectWs.cell(row,column,value) # 해당 행과 열의 내용 변경(행렬 모두 숫자)
selectWs.cell(row,column).value = 셀내용 # 위와 같은 동작
selectWs.append([A행,B행, ...]) # 마지막 열의 다음 열에 내용을 추가
# 디자인
from openpyxl import styles as ss
# 셀 색칠하기
cell.fill = ss.PatternFill(start_color='FFFFFF', fill_type='solid')
# 테두리그리기
cell.border = ss.Border(top=ss.Side(border_style='medium',color='000000'),
bottom=ss.Side(border_style='medium',color='000000'),
left=ss.Side(border_style='medium',color='000000'),
right=ss.Side(border_style='medium',color='000000'),
)
# 폰트 설정
cell.font = ss.Font(name=폰트명,
size=크기,
color=색상,
bold=True, # 두껍게
italic=False # 기울임체
underline='single', # 밑줄
strike=False # 취소선
)
# 글자 정렬
cell.alignment = ss.Alignment(horizontal='center' # 좌우 가운데 정렬
vertical='center' # 상하 가운데 정렬
indent=1 # 들여쓰기
)
# 셀 크기 변경
selectWs.column_dimensions['A'].width=15 # A행의 너비 변경
selectWs.row_dimensions[1].height=15 # 1열의 높이 변경
코드는 아니지만 진심 맨날 헷갈리는거.. row는 1열이고 column은 A행이다.
이거 적으면서도 또 반대로 적었다..
댓글 남기기