Excel 시각화
Excel 시각화
조건부서식 - 막대그래프 추가하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import openpyxl
from openpyxl.formatting.rule import DataBarRule
wb = openpyxl.load_workbook("result.xlsx")
for sheet_name in wb.sheetnames:
if sheet_name.isdigit(): # 문자열이 숫자로만 이루어져 있는지 확인
ws = wb[sheet_name]
# 막대그래프를 추가하고 싶은 column
col = 'A'
min_row = 2
max_row = ws.max_row
# 조건부 서식: 데이터 막대 추가
data_bar = DataBarRule(
start_type='min',
end_type='max',
color="63BE7B" # 초록색
)
ws.conditional_formatting.add(f"{col}{min_row}:{col}{max_row}", data_bar)
wb.save("result.xlsx")
column 너비 고정하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from openpyxl import load_workbook
# 픽셀 → 엑셀 문자단위 변환 함수
def px_to_width(px):
return (px - 5) / 7
# 열별 픽셀 설정
widths_px = {
'A': 52,
'B': 39,
'C': 101,
'D': 86
}
# 엑셀 불러오기
file = "result.xlsx"
wb = load_workbook(file)
wb._sheets.sort(key=lambda ws: ws.title, reverse=True)
for sheet in wb.sheetnames:
if sheet.isdigit():
ws = wb[sheet] # 시트 객체 가져오기
# 열 너비 설정
for col, px in widths_px.items():
ws.column_dimensions[col].width = px_to_width(px)
# 변경사항 저장
wb.save("result.xlsx")
This post is licensed under CC BY 4.0 by the author.