MoonNote

반응형
     

 

 

 

엑셀 실습 파일

예제 코드 실행 후 생성

 

엑셀 파일 구성

예제 코드 01 실행 후 : 엑셀 파일 생성

bar_chart_example.xlsx

 

예제 코드 02 실행 후 : 엑셀 파일 생성

line_chart_example.xlsx

 

예제 코드 03 실행 후 : 엑셀 파일 생성

pie_chart_example.xlsx

 

예제 코드 01 - 막대 그래프(Bar Chart)

chart 모듈 사용(BarChart, Reference 클래스)

from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference

# 새 워크북 생성 및 활성화된 워크시트 선택
wb = Workbook()
ws = wb.active

# 데이터 추가
data = [
    ['Category', 'Value1', 'Value2'],
    ['A', 10, 40],
    ['B', 20, 30],
    ['C', 30, 20],
    ['D', 40, 10]
]

for row in data:
    ws.append(row)

# 차트에 사용할 데이터 범위 지정 (값 범위)
values = Reference(ws, min_col=2, min_row=1, max_col=3, max_row=5)

# 차트 객체 생성
bar_chart = BarChart()
bar_chart.add_data(values, titles_from_data=True)

# 차트의 X축에 대한 범주 범위 지정 (레이블 범위)
categories = Reference(ws, min_col=1, min_row=2, max_row=5)
bar_chart.set_categories(categories)

# 차트 제목 설정
bar_chart.title = "Sample Bar Chart"

# 차트를 워크시트에 추가 (차트가 나타날 위치 지정)
ws.add_chart(bar_chart, "E5")

# 워크북 저장
wb.save("bar_chart_example.xlsx")

 

▪ 결과 값

엑셀 파일 구성 ' 예제 코드 01 실행 후 생성된 파일 정보' 이미지 참조

 

예제 코드 02 - 선 그래프(Line Chart)

chart 모듈 사용(LineChart, Reference 클래스)

from openpyxl import Workbook
from openpyxl.chart import LineChart, Reference

# 새 워크북 생성 및 활성화된 워크시트 선택
wb = Workbook()
ws = wb.active

# 데이터 추가
data = [
    ['Month', 'Value1', 'Value2'],
    ['Jan', 10, 40],
    ['Feb', 20, 30],
    ['Mar', 30, 20],
    ['Apr', 40, 10]
]

for row in data:
    ws.append(row)

# 차트에 사용할 데이터 범위 지정 (값 범위)
values = Reference(ws, min_col=2, min_row=1, max_col=3, max_row=5)

# 차트 객체 생성
line_chart = LineChart()
line_chart.add_data(values, titles_from_data=True)

# 차트의 X축에 대한 범주 범위 지정 (레이블 범위)
categories = Reference(ws, min_col=1, min_row=2, max_row=5)
line_chart.set_categories(categories)

# 차트 제목 설정
line_chart.title = "Sample Line Chart"

# 차트를 워크시트에 추가 (차트가 나타날 위치 지정)
ws.add_chart(line_chart, "E5")

# 워크북 저장
wb.save("line_chart_example.xlsx")

 

▪ 결과 값

엑셀 파일 구성 ' 예제 코드 02 실행 후 생성된 파일 정보' 이미지 참조

 

예제 코드 03 - 원형 그래프(Pie Chart)

chart 모듈 사용(PieChart, Reference 클래스)

from openpyxl import Workbook
from openpyxl.chart import PieChart, Reference

# 새 워크북 생성 및 활성화된 워크시트 선택
wb = Workbook()
ws = wb.active

# 데이터 추가
data = [
    ['Category', 'Value'],
    ['A', 30],
    ['B', 40],
    ['C', 20],
    ['D', 10]
]

for row in data:
    ws.append(row)

# 차트에 사용할 데이터 범위 지정 (값 범위)
values = Reference(ws, min_col=2, min_row=2, max_row=5)

# 차트 객체 생성
pie_chart = PieChart()
pie_chart.add_data(values, titles_from_data=False)

# 차트의 X축에 대한 범주 범위 지정 (레이블 범위)
categories = Reference(ws, min_col=1, min_row=2, max_row=5)
pie_chart.set_categories(categories)

# 차트 제목 설정
pie_chart.title = "Sample Pie Chart"

# 차트를 워크시트에 추가 (차트가 나타날 위치 지정)
ws.add_chart(pie_chart, "E5")

# 워크북 저장
wb.save("pie_chart_example.xlsx")

 

▪ 결과 값

엑셀 파일 구성 ' 예제 코드 03 실행 후 생성된 파일 정보' 이미지 참조

 

NOTE : 왜 `Reference`를 사용하는가?

동적 데이터 참조:

▪ Reference 객체를 사용하여 엑셀 시트의 특정 범위에 있는 데이터를 동적으로 참조하기 위함

엑셀에서 특정 셀 범위에 있는 데이터는 시트 내에서의 위치와 연관되어 있기 때문에 직접 값을 지정하는 대신 그 위치를 참조하는 것을 권장

시트와의 통합:

차트는 엑셀 시트의 지정 셀 데이터를 기반으로 만들어지며, 이 데이터는 시트에서 계속 업데이트될 수 있음. 따라서, 데이터 범위를 Reference를 통해 설정하면 엑셀 시트의 변화에 따라 차트도 자동으로 업데이트하기 위함

직관적인 셀 범위 지정:

Reference를 사용하면 min_row, max_row, min_col, max_col과 같은 파라미터를 통해 차트에 사용할 데이터 범위를 명확하게 지정할 수 있음. 이런 방식으로 엑셀 시트에서 데이터를 시각적으로 이해하고 관리하기 쉬움

 

 

Openpyxl 함수 모음

 

 

 

 

 

 

 

 

 

※ 이 글이 도움이 되었다면 "👆🏻구독"과 "🤍공감" 버튼을 클릭해주세요. 클릭 한번이 글 쓰는데 큰 힘이 됩니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band