Python openpyxl 셀 수평 정렬 방법 3가지를 살펴보겠습니다.
목차
Python openpyxl 셀 수평 정렬 방법
Python에서 openpyxl을 이용해서 셀의 텍스트를 정렬하는 방법을 알아봅시다. 텍스트 정렬은 Alignment 클래스를 사용하여 수평 및 수직 정렬, 줄 바꿈, 텍스트 방향 등을 설정할 수 있습니다. 이 문서에서는 가장 많이 사용하는 수평 정렬 방법에 대해 살펴보도록 하겠습니다.
수평 정렬 방법 8가지
Alignment 클래스를 이용하여 인스턴스 객체를 생성합니다. horizontal 파라미터에 정렬에 필요한 문자열을 값으로 넘겨주면 중앙 정렬이 됩니다. horizontal 파라미터에 넘겨줄 수 있는 파라미터에는 ‘distributed’, ‘fill’, ‘justify’, ‘center’, ‘left’, ‘centerContinuous’, ‘right’, ‘general’이 있습니다.
아래의 코드는 A1부터 A8까지 각 정렬방법을 사용해 정렬한 결과를 나타나게 하는 코드입니다. 라인 7에는 사용할 수 있는 문자열 리스트가 준비되어 있으며, 라인 10과 11에서는 Alignment 인스턴스 객체를 생성하고 해당 셀에 적용하는 코드입니다.
from openpyxl import Workbook
from openpyxl.styles import Alignment
wb = Workbook()
ws = wb.active
aligns = ['distributed', 'fill', 'justify', 'center', 'left', 'centerContinuous', 'right', 'general']
row_num = 1
for align in aligns:
alignment = Alignment(horizontal=align)
ws[f'A{row_num}'].alignment = alignment
ws[f'A{row_num}'].value = f"수평 정렬: {align}"
ws.row_dimensions[row_num].height = 20
row_num += 1
ws.column_dimensions['A'].width = 30
wb.save("output_horizontal.xlsx")
Python아래의 그림에서의 정렬 결과를 설명하겠습니다.
- distributed: 공백을 기준으로 문자를 좌우로 분산시키는 정렬 방법입니다.
- fill: 셀의 문자열을 반복해서 해당 셀을 채우는 방법입니다. 해당 문자열을 모두 보여줄 공간이 부족하면 더 이상 반복하지 않습니다.
- justify: 셀의 텍스트가 길어지는 경우 줄바꿈을 할 때, 문자열이 좌우에 붙어서 정렬되도록 처리합니다.
- center: 텍스트를 중앙으로 정렬해 줍니다.
- left: 텍스트를 왼쪽으로 정렬해 줍니다.
- centerContinous: center와 동일하게 처리되었습니다. 뭔가 차이가 있을 것도 같아 보이지만 큰 차이는 없었습니다.
- right: 텍스트를 오른쪽으로 정렬해 줍니다.
- general: 정렬하지 않았을 때의 기본 상태입니다.
관련 자료
openpyxl.sheets의 alignment 클래스의 horizontal 파라미터 관련 문서를 참조했습니다.