이번 포스팅에서는 XlsxWriter를 이용하여 Excel(엑셀)에서 숫자형 데이터를 갖는 칼럼에 대하여 데이터 막대(Data Bar)를 삽입하는 방법을 알아보자.
셀 안에 데이터 막대(Data Bar) 그리기 (feat. conditional_format)
데이터 막대는 conditional_format 메서드를 이용하여 그릴 수 있다. conditional_format은 첫 번째 인자로 데이터 막대가 그려질 범위를 설정하고 데이터 막대 설정 옵션을 딕셔너리로 만들어 두 번째 인자로 전달한다.
코드를 통해 사용법을 알아보자. 아래 코드는 엑셀에서 Profit 칼럼과 Units 칼럼 데이터에 막대를 삽입한다.
from xlsxwriter import Workbook
## data 생성
data = [
['Region', 'SalesRep', 'Profit', 'Units'],
['East', 'Tom', -1, 6380],
['West', 'Fred', -2, 5619],
['North', 'Amy', -10, 4565],
['South', 'Sal', 4, 5323],
['East', 'Fritz', 4, 4394],
['West', 'Sravan', 10, 7195],
['North', 'Xi', -5, 5231],
['South', 'Hector', 20, 2427],
['East', 'Tom', 19, 4213],
['West', 'Fred', -3, 3239],
['North', 'Amy', -5, 6520],
['South', 'Sal', -9, 1310],
['East', 'Fritz', 12, 6274],
['West', 'Sravan', 15, 4894],
['North', 'Xi', 11, 7580],
['South', 'Hector', 10, 9814]
]
wb = Workbook('data_bar.xlsx')
ws = wb.add_worksheet()
## 데이터 삽입
for i, row in enumerate(data):
for j, cell in enumerate(row):
ws.write(i, j, cell)
## 필터 생성
ws.conditional_format('D1:D17', {'type':'data_bar', ## 데이터 막대를 그리려면 type을 data_bar로 해야함.
'bar_color':'#FF00FF', ## 막대 색상
})
ws.conditional_format('C1:C17', {'type':'data_bar',
'bar_direction':True, ## 음수 양수 양 방향
'bar_color':'#DADC16', ## 양수 방향 막대 색상
'bar_negative_color':'#FF00FF' ## 음수 방향 막대 색상
})
wb.close()
line 33~35
condtional_format은 첫 번째 인자로 데이터 막대가 그려질 범위를 지정해야 한다. 두 번째 인자는 데이터 막대 설정 옵션을 딕셔너리로 넘겨준다. 이때 'type' 키에 대응하는 값을 반드시 'data_bar'로 해줘야 한다. 그리고 막대 색상은 'bar_color' 키로 설정한다.
line 36~40
만약 음수 양수가 공존하는 칼럼이라면 0을 중심으로 좌우로 뻗어나가는 막대가 좋을 것이다. 이를 지정하기 위해 'bar_direction'을 True로 설정한다. 그리고 'bar_negative_color'를 통하여 음수쪽 막대 색상도 지정할 수 있다.
'프로그래밍 > 엑셀(Excel)' 카테고리의 다른 글
Openpyxl을 이용하여 엑셀(Excel) 셀 안에 이미지(Image) 삽입하기 (2) | 2023.01.14 |
---|---|
[XlsxWriter] 데이터 필터(Auto Filter) 적용하기 (feat. autofilter, filter_column) (0) | 2022.11.15 |
[XlsxWriter] 열(Column) 폭 문자에 맞게 조절하기 (feat. set_column) (0) | 2022.11.11 |
[XlsxWriter] 행 높이와 열 폭 조절하기(feat. set_row, set_column) (0) | 2022.11.11 |
[XlsxWriter] 셀 포맷(Cell Format - 폰트, 숫자 형식, 숨기기, 정렬, 배경색, 테두리) 변경하기 (feat. add_format) (0) | 2022.11.11 |
댓글