본문으로 건너뛰기
실습하기

파이썬 코드로 테이블(표)를 생성하는 방법

간단한 데이터는 워드 프로그램 내에서 테이블(Table, 표)로 쉽게 표현할 수 있습니다.

하지만 대규모의 데이터를 표로 삽입하거나 반복적인 표 작성을 자동화하려면 python-docx 라이브러리를 사용하는 것이 좋습니다.

이번 수업에서는 python-docx를 사용하여 워드 파일에 표를 추가할때 사용하는 주요 메서드들을 알아보겠습니다.


add_table()

새로운 표를 문서에 추가하는 메서드입니다.

document.add_table(rows, cols)와 같이 사용하며 rows 행(가로열)의 수, cols 열(세로열)의 수를 지정합니다.

표 추가하기
from docx import Document

doc = Document()
table = doc.add_table(rows=3, cols=3)

table.cell(row, col)

특정 셀에 접근해 값을 설정하거나 가져오는 메서드입니다.

table.cell(row, col)와 같이 사용하며 row는 행 번호(0부터 시작), col은 열 번호(0부터 시작)를 지정합니다.

셀에 텍스트 추가하기
cell = table.cell(0, 0)  # 첫 번째 행, 첫 번째 열의 셀
cell.text = "Hello, World!"

table.style

표의 스타일을 설정합니다.

경계선을 포함한 표를 생성하려면 table.style = 'Table Grid'와 같이 사용합니다.

표 스타일 설정하기
doc = Document()
table = doc.add_table(rows=3, cols=3)

table.style = 'Table Grid' # Word의 미리 정의된 스타일 사용

table.add_row()

표에 새로운 행(가로줄)을 추가하는 메서드입니다.

table.add_row()와 같이 사용하면 새로운 행을 추가합니다.

새로운 행 추가하기
row = table.add_row()
row.cells[0].text = "New Cell"

table.add_column()

표에 새로운 열(세로줄)을 추가하는 메서드입니다.

table.add_column(width)와 같이 지정된 너비로 새로운 열을 추가

새로운 열 추가하기
from docx.shared import Inches

table.add_column(Inches(1))

cell.text

셀에 텍스트를 설정하거나 가져올 때 사용합니다.

셀에 텍스트 추가하기
cell = table.cell(1, 1)
cell.text = "Sample Text"

cell.merge(other_cell)

셀을 병합하는 메서드입니다.

아래 코드는 첫 번째 행의 두 셀을 병합하는 예시입니다.

셀 병합하기
a = table.cell(0, 0)
b = table.cell(0, 1)
a.merge(b) # 첫 번째 행의 두 셀을 병합

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!