μμ λ°μ΄ν°λ₯Ό μ¬λΌμ΄λμ νλ‘ μ½μ νκΈ°
Chapter 1μμ λ°°μ΄ openpyxl
κ³Ό python-pptx
λΌμ΄λΈλ¬λ¦¬λ₯Ό ν¨κ» μ¬μ©νλ©΄, κ°λ¨ν μ½λλ‘ μμ
μνΈμ λ°μ΄ν°λ₯Ό νμν¬μΈνΈμ νλ‘ μ½μ
ν μ μμ΅λλ€.
μ΄λ² μμ μμλ μμ νμΌμμ λ°μ΄ν°λ₯Ό λΆλ¬μ νμν¬μΈνΈ μ¬λΌμ΄λμ νλ₯Ό μμ±νλ λ°©λ²μ μμλ³΄κ² μ΅λλ€.
1. νλ μ ν μ΄μ μμ± λ° ν μ½μ νκΈ°
λ¨Όμ νμν¬μΈνΈ νλ μ ν μ΄μ μ μμ±νκ³ μ¬λΌμ΄λμ νλ₯Ό μΆκ°ν©λλ€.
from pptx import Presentation from openpyxl import load_workbook # PowerPoint νμΌ μμ± prs = Presentation() # μ μ¬λΌμ΄λ μΆκ° (λ μ΄μμ 5: λΉ μ¬λΌμ΄λ) slide = prs.slides.add_slide(prs.slide_layouts[5]) # μμ νμΌ λΆλ¬μ€κΈ° wb = load_workbook('input_file.xlsx') ws = wb.active
μ½λ μ€λͺ
-
νλ μ ν μ΄μ μμ± λ° μ¬λΌμ΄λ μΆκ° :
Presentation()
μΌλ‘ νλ μ ν μ΄μ κ°μ²΄λ₯Ό μμ±νκ³ , μ¬λΌμ΄λλ₯Ό μΆκ°ν©λλ€. -
μ μ¬λΌμ΄λ μΆκ° :
prs.slides.add_slide(prs.slide_layouts[5])
λ‘ λ μ΄μμ 5(λΉ μ¬λΌμ΄λ)λ₯Ό μ¬μ©ν΄ μ μ¬λΌμ΄λλ₯Ό μΆκ°ν©λλ€. -
μμ νμΌ λΆλ¬μ€κΈ° :
load_workbook('input_file.xlsx')
λ‘ μ λ ₯ λ°μ΄ν°κ° λ΄κΈ΄ μμ νμΌμ λΆλ¬μ€κ³ ,wb.active
λ‘ νμ¬ νμ±νλ μνΈλ₯Ό μ νν©λλ€.
2. μ¬λΌμ΄λμ ν μΆκ°νκΈ°
openpyxlλ‘ λΆλ¬μ¨ μμ λ°μ΄ν°λ₯Ό λ°νμΌλ‘ μ΄κ³Ό ν ν¬κΈ°λ₯Ό μ€μ νκ³ , νμν¬μΈνΈ μ¬λΌμ΄λμ νλ₯Ό μΆκ°ν©λλ€.
# μμ λ°μ΄ν° νμΈ λ° ν, μ΄ ν¬κΈ° μ€μ rows, cols = ws.max_row, ws.max_column # ν μΆκ° (μ¬λΌμ΄λ ν¬κΈ°μ λ§μΆ° μμΉμ ν¬κΈ° μ‘°μ ) table = slide.shapes.add_table(rows, cols, Inches(0.5), Inches(0.5), Inches(9), Inches(5.5)).table
μ½λ μ€λͺ
-
μμ λ°μ΄ν° νμΈ :
ws.max_row
μws.max_column
μΌλ‘ μμ μνΈμ νκ³Ό μ΄ ν¬κΈ°λ₯Ό νμΈν©λλ€. -
ν μΆκ° :
slide.shapes.add_table()
λ‘ μ¬λΌμ΄λμ νλ₯Ό μΆκ°νκ³ ,table
λ³μμ ν κ°μ²΄λ₯Ό ν λΉν©λλ€.
3. μμ λ°μ΄ν°λ₯Ό νμ μΆκ°νκΈ°
μ΄μ openpyxlμ μ¬μ©ν΄ μμ λ°μ΄ν°λ₯Ό νμ μΆκ°ν©λλ€.
μ½μ΄μ¨ μμ
λ°μ΄ν°λ₯Ό νμ μΆκ°ν λλ enumerate
ν¨μλ₯Ό μ¬μ©ν΄ νκ³Ό μ΄μ μΈλ±μ€λ₯Ό κ°μ ΈμμΌ ν©λλ€.
enumerate ν¨μλ 리μ€νΈ, νν, λ¬Έμμ΄ λ±μ λ°μ΄ν°λ₯Ό μ λ ₯λ°μ μΈλ±μ€μ κ°μ μμλλ‘ λ°νν©λλ€.
data = ['apple', 'banana', 'cherry'] for idx, value in enumerate(data): print(f'Index: {idx}, Value: {value}') # μΆλ ₯κ°: # Index: 0, Value: apple # Index: 1, Value: banana # Index: 2, Value: cherry
μμ
μνΈμμ λ°μ΄ν°λ₯Ό κ°μ Έμ¬ λλ iter_rows()
λ₯Ό μ¬μ©ν΄ νκ³Ό μ΄λ³λ‘ λ°μ΄ν°λ₯Ό κ°μ Έμ΅λλ€.
μλ₯Ό λ€μ΄, μμ μ λ°μ΄ν°κ° λ€μκ³Ό κ°λ€λ©΄
Header 1 | Header 2 |
---|---|
Data 1 | Data 2 |
Data 3 | Data 4 |
iter_rows ν¨μλ‘ κ°μ Έμ¨ λ°μ΄ν°λ λ€μκ³Ό κ°μ΅λλ€.
for row in ws.iter_rows(max_row=rows, max_col=cols, values_only=True): for value in row: print(value) # μΆλ ₯κ°: # Header 1 # Header 2 # Data 1 # Data 2 # Data 3 # Data 4
μ΄μ enumerate ν¨μμ iter_rows ν¨μλ₯Ό μ¬μ©ν΄ μμ λ°μ΄ν°λ₯Ό νμ μΆκ°ν΄ λ³΄κ² μ΅λλ€.
# ν μ€νμΌ μ§μ (첫 λ²μ§Έ νμ ν€λλ‘ μ€μ νκ³ μ€νμΌ μ μ©) for i, row in enumerate(ws.iter_rows(values_only=True)): for j, value in enumerate(row): cell = table.cell(i, j) # κ° μ μ λ°μ΄ν° μ½μ cell.text = str(value) # ν°νΈ ν¬κΈ° λ° μλ μ€λ°κΏ μ€μ for paragraph in cell.text_frame.paragraphs: paragraph.font.size = Pt(12) # ν°νΈ ν¬κΈ° μ‘°μ paragraph.font.bold = True if i == 0 else False # 첫 λ²μ§Έ ν(ν€λ)μ κ΅΅κ² νμ paragraph.font.color.rgb = RGBColor(255, 255, 255) if i == 0 else RGBColor(0, 0, 0) # ν€λλ ν°μ κΈμ¨ cell.text_frame.word_wrap = True # ν μ€νΈ μλ μ€λ°κΏ
μ½λ μ€λͺ
-
ν μ€νμΌ μ§μ :
enumerate(ws.iter_rows(values_only=True))
λ‘ μμ λ°μ΄ν°λ₯Ό νλ³λ‘ κ°μ Έμ νμ μΆκ°ν©λλ€. -
κ° μ μ λ°μ΄ν° μ½μ :
cell.text = str(value)
λ‘ κ° μ μ λ°μ΄ν°λ₯Ό μΆκ°ν©λλ€. -
for λ°λ³΅λ¬Έ :
for paragraph in cell.text_frame.paragraphs
λ‘ μ¬λΌμ΄λ λ΄ νμ κ° μ μ μλ ν μ€νΈλ₯Ό κ°μ Έμ μ€νμΌμ μ§μ ν©λλ€. -
ν°νΈ ν¬κΈ° λ° μλ μ€λ°κΏ μ€μ :
paragraph.font.size
,paragraph.font.bold
,paragraph.font.color.rgb
,cell.text_frame.word_wrap
μΌλ‘ νμ μ€νμΌμ μ§μ ν©λλ€.
iter_rows() λ©μλλ μ λ ₯λ°μ λ°μ΄ν°μ μ΄(μΈλ‘μ€)μ μΆλ ₯νλ€.
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Execution Result
The document is empty.
Try running the code.