Python/openpyxl
파이썬 openpyxl conditional_formatting 함수 활용하기
PySun
2024. 2. 15. 08:00
반응형
소개:
openpyxl은 파이썬에서 엑셀 파일을 다루는 강력한 라이브러리 중 하나입니다. 이 블로그 포스트에서는 conditional_formatting 함수를 사용하여 조건부 서식을 적용하는 방법에 대해 알아보겠습니다. 예시 코드를 통해 실제 활용법을 자세히 살펴보면서 더욱 효과적으로 활용하는 방법을 학습해봅시다.
conditional_formatting 함수란?
conditional_formatting 함수는 openpyxl 라이브러리에서 제공되는 함수 중 하나로, 조건부 서식을 적용할 때 사용됩니다. 이를 통해 엑셀 파일에서 특정 조건을 충족하는 셀에 서식을 동적으로 적용할 수 있습니다.
conditional_formatting 함수의 기본 사용법:
from openpyxl import Workbook
from openpyxl.styles import PatternFill
# 새로운 워크북 생성
workbook = Workbook()
# 활성 시트 선택
sheet = workbook.active
# 조건부 서식을 적용할 범위 선택 (예: A1부터 A10까지)
cell_range = sheet["A1:A10"]
# 적용할 서식 정의
red_fill = PatternFill(start_color="FF0000", end_color="FF0000", fill_type="solid")
# 조건부 서식 적용
sheet.conditional_formatting.add(cell_range, PatternFillRule(patternFill=red_fill))
conditional_formatting 함수의 다양한 활용:
conditional_formatting 함수를 사용하여 다양한 조건부 서식을 적용할 수 있습니다.
- 여러 조건에 따라 서식 적용:
from openpyxl.formatting.rule import ColorScaleRule
# 두 가지 서로 다른 조건에 따라 색상 규칙 정의
color_scale_rule = ColorScaleRule(start_type="min", start_color="FF0000", end_type="max", end_color="00FF00")
# 조건부 서식 적용
sheet.conditional_formatting.add(cell_range, color_scale_rule)
conditional_formatting 함수를 활용한 조건부 서식 적용 예시:
conditional_formatting 함수를 사용하면 파이썬 코드에서 조건에 따라 엑셀 셀에 동적으로 서식을 적용할 수 있습니다. 아래 예시 코드는 특정 조건에 따라 셀의 배경색을 변경하는 예시입니다.
from openpyxl import Workbook
from openpyxl.styles import PatternFill
from openpyxl.formatting.rule import CellIsRule
# 새로운 워크북 생성
workbook = Workbook()
# 활성 시트 선택
sheet = workbook.active
# 조건부 서식을 적용할 범위 선택 (예: B1부터 B10까지)
cell_range = sheet["B1:B10"]
# 적용할 서식 정의
red_fill = PatternFill(start_color="FF0000", end_color="FF0000", fill_type="solid")
# 조건부 서식 적용
rule = CellIsRule(operator="equal", formula=["criteria"], stopIfTrue=True, fill=red_fill)
sheet.conditional_formatting.add(cell_range, rule)
결론:
openpyxl의 conditional_formatting 함수를 사용하면 파이썬 코드에서 엑셀 파일에 동적으로 조건부 서식을 적용할 수 있습니다. 위의 예시 코드를 참고하여 자신의 프로젝트나 업무에 적용해보세요. 조건부 서식을 통해 데이터의 시각적 표현을 더욱 풍부하게 만들 수 있습니다.
반응형