본문 바로가기

코딩/파이썬과 엑셀

(27)
openpyxl로 엑셀 다루기 026. 셀 서식(스타일) 설정 셀 서식(스타일) 설정 Cell 클래스가 제공하는 기본적인 속성의 예는 아래와 같다. column column_letter row coordinate value 아래의 은 Cell 클래스가 제공하는 몇 가지 기본적인 속성을 사용한 예이다. # openpyxl 3.0.7 from openpyxl import load_workbook wb = load_workbook('sample.xlsx') ws = wb.active cell = ws['A1'] print(cell.column, type(cell.column)) print(cell.column_letter, type(cell.column_letter)) print(cell.row, type(cell.row)) print(cell.coordinate, ty..
openpyxl로 엑셀 다루기 025. 시트 관련 유용한 속성 시트 관련 유용한 속성 Worksheet 클래스가 제공하는 title이나 max_column, max_row 등의 속성 외 몇 가지 유용한 속성에 대해 소개한다. 아래의 코드를 작성한 후 실행해 샘플 엑셀 파일을 생성한다. # openpyxl 3.0.7 from openpyxl import Workbook wb = Workbook() ws = wb.active for i in range(1, 10): ws.append([i * 10 + x for x in range(1, 11)]) print(ws.title) print(ws.max_column) print(ws.max_row) wb.save('sample.xlsx') sheet_view.showRowColHeaders sheet_view.showRowC..
openpyxl로 엑셀 다루기 024. 열 또는 행 추가, 삭제 - insert_cols, insert_rows 열 또는 행 추가, 삭제 - insert_cols, insert_rows 다음의 코드를 작성한 후 실행해 엑셀 샘플 파일을 생성한다. 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열에 하나의 새로운 열을 추가하는 코드이다. from openpyxl import load_work..
openpyxl로 엑셀 다루기 023. 셀 서식(스타일) 설정 - 폰트(글꼴) 셀 서식(스타일) 설정 - 폰트(글꼴) openpyxl의 Font 클래스를 사용하면 셀의 폰트(글꼴)을 설정 및 변경할 수 있다. Font 클래스의 생성자 __init__의 파라미터 정의는 다음과 같다. def __init__(self, name=None, sz=None, b=None, i=None, charset=None, u=None, strike=None, color=None, scheme=None, family=None, size=None, bold=None, italic=None, strikethrough=None, underline=None, vertAlign=None, outline=None, shadow=None, condense=None, extend=None): 아래의 코드는 A1 셀의..
openpyxl로 엑셀 다루기 022. column_dimensions와 row_dimensions로 그룹 설정 column_dimensions와 row_dimensions로 그룹 설정 Worksheet 클래스의 column_dimensions 속성을 이용하면 임의 열에 대한 그룹 설정이 가능하다. 아래의 코드는 C 열 ~ E 열을 그룹화하는 코드이다. # openpyxl 3.0.7 from openpyxl import Workbook wb = Workbook() ws = wb.active ws.column_dimensions.group('C', 'E') wb.save('sample.xlsx') 속성 column_dimensions는 dimensions 파이썬 모듈의 DimensionsHolder 클래스에 대한 객체로 group 메서드의 hidden 파라미터로 그룹화된 셀을 숨길 수 있다. self.column_d..
openpyxl로 엑셀 다루기 021. add_image 메서드로 셀에 그림 파일 넣기 add_image 메서드로 셀에 그림 파일 넣기 임의 셀에 그림 파일을 넣고자 하는 경우, Worksheet 클래스의 add_image 메서드를 사용한다. 아래의 openpyxl.png 그림 파일을 셀에 추가해 본다. 임의 셀에 그림 파일을 추가하고자 하는 경우, 우선 작업 파이썬 프로젝트에 Pillow 파이썬 패키지가 설치되어 있어야 한다. 작업 파이썬 프로젝트에 Pillow 패키지가 설치되었다면, 아래의 코드를 작성 후 실행한다. # openpyxl 3.0.7 from openpyxl import Workbook from openpyxl.drawing.image import Image wb = Workbook() ws = wb.active ws['A1'] = 'openpyxl' img = Image(..
openpyxl로 엑셀 다루기 020. merge_cells 및 unmerge_cells 메서드로 셀 병합 및 병합된 셀 분리 merge_cells 및 unmerge_cells 메서드로 셀 병합 및 병합된 셀 분리 간혹 여러 셀을 병합하거나 병합된 셀을 분리할 경우가 있다. 아래의 그림에서 처럼 셀 A1 ~ E1, A2 ~ E2는 Worksheet 클래스의 merge_cells 메서드를 이용해 병합할 수 있다. # openpyxl 3.0.7 from openpyxl.workbook import Workbook wb = Workbook() ws = wb.active ws.merge_cells('A1:E1') ws.merge_cells(start_row=2, start_column=1, end_row=2, end_column=5) wb.save('sample.xlsx') 위의 코드에서 확인할 수 있듯이 merge_cells 메서드는..
openpyxl로 엑셀 다루기 019. 수식 입력 수식 입력 엑셀에서 사용하는 수식은 셀의 value 속성에 원하는 수식을 입력함으로써 정의할 수 있다. 아래 코드는 셀 A1 및 셀 F2에 수식을 입력하는 간단한 코드로 openpyxl에서 수식을 입력하는 방식은 엑셀에서 수식을 입력하는 방식과 다르지 않다. openpyxl.utils 모듈의 FORMULAE는 수식의 이름이 저장되어 있는 frozenset 타입의 데이터이다. # openpyxl 3.0.7 from openpyxl import Workbook from openpyxl.utils import FORMULAE wb = Workbook() ws = wb.active print('SUM' in FORMULAE) ws.cell(row=1, column=1, value='=SUM(1,2,3,4,5)'..