Guidelines

파이썬 μ½”λ“œλ‘œ ν‘œλ₯Ό λ§Œλ“œλŠ” 방법

κ°„λ‹¨ν•œ ν‘œλ₯Ό μž‘μ„±ν•  λ•ŒλŠ” μ›Œλ“œ ν”„λ‘œκ·Έλž¨μ˜ ν…Œμ΄λΈ”(Table, ν‘œ) κΈ°λŠ₯을 ν™œμš©ν•˜λŠ” 것이 νŽΈλ¦¬ν•©λ‹ˆλ‹€.

ν•˜μ§€λ§Œ λŒ€κ·œλͺ¨μ˜ 데이터λ₯Ό ν‘œλ‘œ μ‚½μž…ν•˜κ±°λ‚˜ 반볡적인 ν‘œ μž‘μ„±μ„ μžλ™ν™”ν•˜λ €λ©΄ python-docx 라이브러리λ₯Ό μ‚¬μš©ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

이번 μˆ˜μ—…μ—μ„œλŠ” python-docxλ₯Ό μ‚¬μš©ν•˜μ—¬ μ›Œλ“œ νŒŒμΌμ— ν‘œλ₯Ό μΆ”κ°€ν•˜λŠ” 방법을 μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

μ°Έκ³  : ν‘œλ‘œ μ‹œκ°ν™”λ˜λŠ” λ°μ΄ν„°λŠ” μ΄ν•΄μ˜ 편의λ₯Ό μœ„ν•΄ 파이썬 리슀트둜 μ •μ˜λ˜μ—ˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ‹€μ œλ‘œλŠ” pandas 라이브러리둜 CSV νŒŒμΌμ„ 파일 경둜 및 URL둜 λΆˆλŸ¬μ™€ μ‚¬μš©ν•˜λŠ” 것이 μΌλ°˜μ μž…λ‹ˆλ‹€.


add_table()

λ¬Έμ„œμ— ν‘œλ₯Ό μΆ”κ°€ν•˜λŠ” λ©”μ„œλ“œμž…λ‹ˆλ‹€.

document.add_table(rows, cols)와 같이 μ‚¬μš©ν•˜λ©°

  • rows: ν–‰(κ°€λ‘œμ—΄)의 수

  • cols: μ—΄(μ„Έλ‘œμ—΄)의 수

λ₯Ό 지정해야 ν•©λ‹ˆλ‹€.

ν‘œ μΆ”κ°€ν•˜κΈ°
from docx import Document doc = Document() # κ°€λ‘œ 3쀄, μ„Έλ‘œ 2μ€„μ˜ ν‘œ 생성 table = doc.add_table(rows=3, cols=2)

table.cell(row, col)

νŠΉμ • 셀에 μ ‘κ·Όν•΄ 값을 μ„€μ •ν•˜κ±°λ‚˜, μ„€μ •λœ 값을 κ°€μ Έμ˜΅λ‹ˆλ‹€.

table.cell(row, col)와 같이 μ‚¬μš©ν•˜λ©° rowλŠ” ν–‰ 번호(0λΆ€ν„° μ‹œμž‘), col은 μ—΄ 번호(0λΆ€ν„° μ‹œμž‘)λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€.

셀에 ν…μŠ€νŠΈ μΆ”κ°€ν•˜κΈ°
# 1번째 ν–‰, 1번째 μ—΄μ˜ μ…€ cell = table.cell(0, 0)

cell.text

셀에 ν…μŠ€νŠΈλ₯Ό μ„€μ •ν•˜κ±°λ‚˜, μ„€μ •λœ ν…μŠ€νŠΈλ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€.

셀에 ν…μŠ€νŠΈ μΆ”κ°€ν•˜κΈ°
# 1번째 ν–‰, 1번째 μ—΄μ˜ μ…€ cell = table.cell(0, 0) # μ§€μ •λœ 셀에 ν…μŠ€νŠΈ μΆ”κ°€ cell.text = "Hello"

table.style

ν‘œμ˜ μŠ€νƒ€μΌμ„ μ„€μ •ν•©λ‹ˆλ‹€.

경계선을 ν¬ν•¨ν•œ ν‘œλ₯Ό μƒμ„±ν•˜λ €λ©΄ table.style = 'Table Grid'와 같이 μ‚¬μš©ν•©λ‹ˆλ‹€.

ν‘œ μŠ€νƒ€μΌ μ„€μ •ν•˜κΈ°
doc = Document() table = doc.add_table(rows=3, cols=2) # μ‹€μ„  ν…Œλ‘λ¦¬λ₯Ό ν¬ν•¨ν•œ ν‘œ 생성 table.style = 'Table Grid'

table.add_row()

ν‘œμ— μƒˆλ‘œμš΄ ν–‰(κ°€λ‘œμ€„)을 μΆ”κ°€ν•˜λŠ” λ©”μ„œλ“œμž…λ‹ˆλ‹€.

table.add_row()와 같이 μƒˆλ‘œμš΄ 행을 μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μƒˆλ‘œμš΄ ν–‰ μΆ”κ°€ν•˜κΈ°
row = table.add_row() row.cells[0].text = "New Cell"

table.add_column()

ν‘œμ— μƒˆλ‘œμš΄ μ—΄(μ„Έλ‘œμ€„)을 μΆ”κ°€ν•˜λŠ” λ©”μ„œλ“œμž…λ‹ˆλ‹€.

table.add_column(width)와 같이 μ§€μ •λœ λ„ˆλΉ„λ‘œ μƒˆλ‘œμš΄ 열을 μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

열을 μΆ”κ°€ν•  λ•ŒλŠ” λ°˜λ“œμ‹œ λ„ˆλΉ„(Width)λ₯Ό 지정해야 ν•©λ‹ˆλ‹€.

μƒˆλ‘œμš΄ μ—΄ μΆ”κ°€ν•˜κΈ°
from docx.shared import Inches table.add_column(Inches(1))

cell.merge(other_cell)

셀을 λ³‘ν•©ν•˜λŠ” λ©”μ„œλ“œμž…λ‹ˆλ‹€.

μ•„λž˜ μ½”λ“œλŠ” 첫 번째 ν–‰μ˜ 두 셀을 λ³‘ν•©ν•˜λŠ” μ˜ˆμ‹œμž…λ‹ˆλ‹€.

μ…€ λ³‘ν•©ν•˜κΈ°
a = table.cell(0, 0) b = table.cell(0, 1) a.merge(b) # 첫 번째 ν–‰μ˜ 두 셀을 병합
Mission
0 / 1

python-docxμ—μ„œ ν‘œμ— κ°€λ‘œμ€„μ„ μΆ”κ°€ν•˜λŠ” λ©”μ„œλ“œλŠ” λ¬΄μ—‡μΌκΉŒμš”?

add_table()
table.cell(row, col)
table.add_row()
table.add_column()

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result

Result

The document is empty.

Try running the code.