본문 바로가기
Python/xlwings

xlwings.set_chart_data 함수 활용하기

by PySun 2024. 12. 28.
반응형

xlwings.set_chart_data 함수: 엑셀 차트 데이터 세팅을 자동화하기

엑셀을 활용한 작업에서 데이터 시각화는 매우 중요한 요소입니다. 파이썬의 xlwings 라이브러리를 사용하면 이러한 차트 데이터를 자동으로 설정할 수 있습니다. 이번 포스팅에서는 xlwings.set_chart_data 함수를 활용하여 엑셀 차트를 자동으로 업데이트하는 방법을 소개합니다.

set_chart_data 함수 소개

xlwings.set_chart_data 함수는 엑셀 차트의 데이터 범위를 지정할 수 있는 유용한 방법입니다. 이 함수를 사용하면 스프레드시트에서 차트가 자동으로 최신 데이터를 반영하도록 할 수 있습니다.

함수 시그니처

xlwings.set_chart_data(chart, data)

매개변수:

  • chart: 데이터가 설정될 차트의 이름 또는 인덱스입니다.
  • data: 차트에 표시할 데이터 범위를 가리키는 문자열입니다. 예: "Sheet1!A1:B10".

반환 값:

  • 특히 반환값은 없습니다. 하지만 차트가 업데이트됩니다!

사용 예제

기본 예제

다음은 xlwings.set_chart_data 함수를 사용하여 차트에 데이터를 설정하는 기본적인 예제입니다.

import xlwings as xw

# 엑셀 애플리케이션 열기
app = xw.App(visible=True)
wb = app.books.add()  # 새 빈 워크북 추가
sheet = wb.sheets[0]

# 데이터 입력
sheet.range("A1").value = ["Year", "Sales"]
sheet.range("A2").value = [2021, 2022, 2023]
sheet.range("B2").value = [5000, 7000, 8000]

# 차트 추가
chart = sheet.charts.add()
chart.chart_type = 'column'

# 차트에 데이터 설정
xlwings.set_chart_data(chart, "Sheet1!A1:B4")

# 자세한 차트 설정을 위해 잠시 기다림
xw.apps.active.alert("완료! 차트 데이터가 설정되었습니다.")

# wb.save('chart_example.xlsx')  # 예제 저장 (선택적)
# wb.close()  # 워크북 닫기
# app.quit()  # 엑셀 앱 종료

실시간 데이터 업데이트 예제

엑셀 데이터가 변경될 때마다 차트도 업데이트되도록 설정할 수 있습니다. 아래는 그 예시입니다.

import xlwings as xw
import time

# 엑셀 애플리케이션 열기
app = xw.App(visible=True)
wb = app.books.add()
sheet = wb.sheets[0]

# 데이터 입력
sheet.range("A1").value = ["Month", "Profit"]
months = ["January", "February", "March"]
profits = [2000, 3000, 5000]
sheet.range("A2").value = months
sheet.range("B2").value = profits

# 차트 추가
chart = sheet.charts.add()
chart.chart_type = 'line'

# 데이터 설정
xlwings.set_chart_data(chart, "Sheet1!A1:B4")

# 데이터 업데이트 루프
for i in range(3):
    time.sleep(5)  # 5초 대기
    profits = [p + 1000 for p in profits]  # 수익 증가
    sheet.range("B2").value = profits  # 업데이트
    xlwings.set_chart_data(chart, "Sheet1!A1:B4")  # 차트도 업데이트

xw.apps.active.alert("10초 후 작업을 마칩니다. 데이터 업데이트가 완료되었습니다!")
# wb.save('dynamic_chart_example.xlsx')  # 예제 저장 (선택적)
# wb.close()
# app.quit()

결론

xlwings.set_chart_data 함수는 데이터 시각화를 자동화하여 업무 효율성을 높이고, 반복적인 작업을 줄이는 데 큰 도움이 됩니다. 오늘부터 이 함수를 활용하여 엑셀 차트와 데이터를 손쉽게 관리해 보세요!

  • 엑셀 차트 데이터 세팅을 자동화하고, 생산성을 향상시켜 보세요!
  • 지금 바로 xlwings.set_chart_data 함수를 활용하여 데이터와 차트를 완벽하게 연결해 보세요!
반응형