[python] 파이썬으로 워드 문서 차트 축 설정하기

파이썬을 사용해 워드 문서에서 차트의 축을 설정하는 방법을 살펴보겠습니다.

1. 필요한 패키지 설치하기

파이썬에서 워드 문서를 다루기 위해 python-docx 패키지를 설치해야 합니다. 아래 명령어를 사용해 패키지를 설치합니다.

pip install python-docx

2. 워드 문서 열기

먼저, 워드 문서를 열어야 합니다. 아래 코드를 사용해 워드 문서를 열고, 차트가 포함된 문단을 선택합니다.

from docx import Document

document = Document('path/to/document.docx')

# 차트가 포함된 문단 선택
chart_paragraph = document.paragraphs[0]

3. 차트의 축 설정하기

선택한 문단의 차트의 축을 설정하기 위해 필요한 정보를 찾아야 합니다. 아래 코드는 예시로 차트의 x축과 y축의 타이틀을 설정하는 방법을 보여줍니다.

from docx.oxml.ns import nsdecls
from docx.oxml import parse_xml
from docx.enum.chart import XL_TICK_LABEL_POSITION

# x축 타이틀 설정
x_axis_title = chart_paragraph.add_run().add_chart_axis_title()
x_axis_title.text = "X Axis Title"
x_axis_title.insert_paragraph_before("")

xml_element = x_axis_title._element
xml_element.getparent().remove(xml_element)
xml_element.set(nsdecls('c'), 'valAx')

# y축 타이틀 설정
y_axis_title = chart_paragraph.add_run().add_chart_axis_title()
y_axis_title.text = "Y Axis Title"
y_axis_title.insert_paragraph_before("")

xml_element = y_axis_title._element
xml_element.getparent().remove(xml_element)
xml_element.set(nsdecls('c'), 'valAx')

# x축 레이블 위치 설정
chart = chart_paragraph._element.get_or_add_chart()
x_axis = chart.xpath('.//c:catAx')[0]
x_axis.xpath('.//c:tickLblPos')[0].val = XL_TICK_LABEL_POSITION.LOW

# y축 레이블 위치 설정
y_axis = chart.xpath('.//c:valAx')[0]
y_axis.xpath('.//c:tickLblPos')[0].val = XL_TICK_LABEL_POSITION.LOW

위 코드에서 X Axis TitleY Axis Title 부분을 원하는 타이틀로 변경하면 됩니다. 또한, XL_TICK_LABEL_POSITION을 사용해 레이블의 위치를 설정할 수 있습니다.

4. 워드 문서 저장하기

축 설정이 완료되면 워드 문서를 저장합니다. 아래 코드를 사용해 변경된 워드 문서를 저장할 수 있습니다.

document.save('path/to/updated_document.docx')

위의 코드에서 updated_document.docx 부분을 원하는 파일명으로 변경하면 됩니다.

참고 자료