엑셀 실습 파일
▪예제 코드 실행 후 생성
엑셀 파일 구성
예제 코드 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)
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)
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)
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 함수 모음
※ 이 글이 도움이 되었다면 "👆🏻구독"과 "🤍공감" 버튼을 클릭해주세요. 클릭 한번이 글 쓰는데 큰 힘이 됩니다.