PPT μ 무 μλν 체ννκΈ°
μ΄λ² μμ
μμλ νμ΄μ¬μΌλ‘ PPT
μ
무λ₯Ό μ²λ¦¬νκ³ , λ°μ΄ν°λ₯Ό νμ©ν΄ νμ μ°¨νΈλ₯Ό μΆκ°νλ λ°©λ²μ μκ°ν©λλ€.
λ¬Όλ‘ κ°λ¨ν μ¬λΌμ΄λλ μ§μ λ§λλ κ²μ΄ λΉ λ₯΄κ² μ§λ§, λκ·λͺ¨ λ°μ΄ν°
λ₯Ό λ°νμΌλ‘ λ°λ³΅μ μΈ μμ
μ΄ νμν λλ νμ΄μ¬ νλ‘κ·Έλ¨μΌλ‘ μ²λ¦¬νλ κ²μ΄ ν¨μ¬ ν¨μ¨μ μ
λλ€.
μμ λ§μλλ¦° κ²μ²λΌ μμ§ μ½λλ₯Ό μ΄ν΄νλ € λ Έλ ₯νμ€ νμ μμ΅λλ€!
λͺ¨λ μ½λλ AIκ° μμ±νκ³ , AIκ° μ€λͺ νκ³ , AIκ° κ°μ ν κ²μ λλ€. π
μ½λ μλν°μ μ΄λ‘μμΌλ‘ νμλ βΆοΈ μ€ν
λ²νΌμ λλ₯΄κ³ , μλ μ½λ μ€λͺ
μ κ°λ³κ² μ½μ΄λ³΄μΈμ!
κ°λ³κ² μ½λ μ½λ μ€λͺ
μ½λκ° ν° νμμ μ΄λ»κ² μλνλμ§ κΆκΈνλ€λ©΄ μλ λ΄μ©μ μ°Έκ³ ν΄ μ£ΌμΈμ.
1. μ°Έκ°μ λ°μ΄ν° μ€λΉ
μλμ κ°μ΄ μ°Έκ°μλͺ , μ μ²μΌ, μ±λ³, λμ΄λ‘ ꡬμ±λ λ°μ΄ν°λ₯Ό μ€λΉν©λλ€.
# μ°Έκ°μ λ°μ΄ν° μ μ csv_data = [ ["μ°Έκ°μλͺ ", "μ μ²μΌ", "μ±λ³", "λμ΄"], ["μ°Έκ°μ1", "2024-09-01", "λ¨μ±", "25"], ["μ°Έκ°μ2", "2024-09-02", "μ¬μ±", "30"], ["μ°Έκ°μ3", "2024-09-03", "λ¨μ±", "35"], ["μ°Έκ°μ4", "2024-09-04", "λ¨μ±", "42"], ["μ°Έκ°μ5", "2024-09-05", "μ¬μ±", "28"], ["μ°Έκ°μ6", "2024-09-06", "μ¬μ±", "39"], ["μ°Έκ°μ7", "2024-09-07", "λ¨μ±", "24"], ]
νλ‘κ·Έλ¨μ λͺ©μ μ μλ λ°μ΄ν°λ₯Ό λ°νμΌλ‘ 2κ°μ μ¬λΌμ΄λ
λ₯Ό μμ±νλ κ²μ
λλ€.
-
μ¬λΌμ΄λ 1 : μ°Έκ°μ λͺ©λ‘μ ν μ΄λΈ(Table, ν) ννλ‘ νμ
-
μ¬λΌμ΄λ 2 : μ±λ³ λΆν¬λ₯Ό νμ΄(
XL_CHART_TYPE.PIE
) μ°¨νΈλ‘, μ°λ Ήλ λΆν¬λ₯Ό λ§λ(XL_CHART_TYPE.COLUMN_CLUSTERED
) μ°¨νΈλ‘ μκ°ν
2. CSV λ°μ΄ν°λ₯Ό νμ΄μ¬ λ³μλ‘ λ³ν
μλ μ½λλ μ μλ λ°μ΄ν°λ₯Ό λ°νμΌλ‘ μ°Έκ°μ λͺ©λ‘μ participants
λ³μμ μ μ₯ν©λλ€.
# μ°Έκ°μ λͺ©λ‘μ λ΄λ λ³μ participants = [] # λ°λ³΅λ¬Έμ νμ©ν΄ μ°Έκ°μ μ 보λ₯Ό participants λ³μμ μ μ₯ for row in csv_data[1:]: participants.append({ "name": row[0], "date": row[1], "gender": row[2], "age": int(row[3]) })
3. PowerPoint νμΌ μμ±
μ΄μ PowerPoint νμΌμ μμ±νκ³ μ¬λΌμ΄λλ₯Ό μΆκ°ν΄ λ³΄κ² μ΅λλ€.
# python-pptx λΌμ΄λΈλ¬λ¦¬μμ Presentation ν¨μλ₯Ό λΆλ¬μ€κΈ° from pptx import Presentation # PowerPoint νμΌ μμ± prs = Presentation() # μ¬λΌμ΄λ λ μ΄μμ μ ν slide_layout = prs.slide_layouts[5] # μ¬λΌμ΄λ μΆκ° slide = prs.slides.add_slide(slide_layout) # μ¬λΌμ΄λ μ λͺ© μΆκ° title = slide.shapes.title # μ¬λΌμ΄λ μ λͺ© μ λ ₯ title.text = "μ€ννΈμ μ΄λ²€νΈ μ°Έκ°μ"
μ΄ μ½λλ₯Ό μ€ννλ©΄ "μ€ννΈμ μ΄λ²€νΈ μ°Έκ°μ"λΌλ μ λͺ©μ κ°μ§ μ¬λΌμ΄λκ° μμ±λ©λλ€.
4. μ°Έκ°μ μ 보λ₯Ό νλ‘ νμ
μλμ κ°μ΄ λ°λ³΅λ¬Έ
μ νμ©ν΄ μ°Έκ°μ μ 보λ₯Ό μ¬λΌμ΄λμ ν
μ΄λΈ(ν) ννλ‘ μΆκ°ν μ μμ΅λλ€.
# add_table ν¨μλ₯Ό νμ©ν΄ ν μ΄λΈ μΆκ° table = slide.shapes.add_table(len(participants) + 1, 4, Inches(0.5), Inches(1.5), Inches(8), Inches(3)).table # ν μ΄λΈ ν€λ μΆκ° for col_index, heading in enumerate(csv_data[0]): table.cell(0, col_index).text = heading # μ°Έκ°μ μ 보 μΆκ° for row_index, participant in enumerate(participants, start=1): table.cell(row_index, 0).text = participant["name"] table.cell(row_index, 1).text = participant["date"] table.cell(row_index, 2).text = participant["gender"] table.cell(row_index, 3).text = str(participant["age"])
5. λ°μ΄ν° μκ°ν: μ±λ³ λΆν¬ μ°¨νΈ μΆκ°
μ΄μ νμ΄ μ°¨νΈλ‘ μ±λ³ λΆν¬λ₯Ό μκ°νν΄λ³΄κ² μ΅λλ€.
# collections λΌμ΄λΈλ¬λ¦¬μμ Counter ν¨μ λΆλ¬μ€κΈ° from collections import Counter # pptx.chart.data λΌμ΄λΈλ¬λ¦¬μμ ChartData ν¨μ λΆλ¬μ€κΈ° from pptx.chart.data import ChartData # pptx.enum.chart λΌμ΄λΈλ¬λ¦¬μμ XL_CHART_TYPE ν¨μ λΆλ¬μ€κΈ° from pptx.enum.chart import XL_CHART_TYPE # νμ΄ μ°¨νΈ λ°μ΄ν° gender_count = Counter(p["gender"] for p in participants) # ChartData ν¨μλ₯Ό νμ©ν΄ μ°¨νΈ λ°μ΄ν° μμ± chart_data = ChartData() # μ°¨νΈ λ°μ΄ν° μΆκ° chart_data.categories = list(gender_count.keys()) # μ°¨νΈ λ°μ΄ν° μλ¦¬μ¦ μΆκ° chart_data.add_series('μ±λ³ λΆν¬', (gender_count["λ¨μ±"], gender_count["μ¬μ±"])) # νμ΄ μ°¨νΈ μΆκ° chart = slide.shapes.add_chart(XL_CHART_TYPE.PIE, Inches(0.5), Inches(1.5), Inches(4), Inches(3), chart_data).chart
μ΄μ μλμΌλ‘ μ°Έκ°μλ€μ μ±λ³ λΆν¬κ° νμ΄ μ°¨νΈλ‘ κ·Έλ €μ§λλ€.
6. λ°μ΄ν° μκ°ν: μ°λ Ήλ λ§λ μ°¨νΈ μΆκ°
μ°Έκ°μμ λμ΄λ₯Ό 20λ, 30λ, 40λλ‘ κ·Έλ£Ήννμ¬ λ§λ μ°¨νΈλ₯Ό 그립λλ€.
# age_groups λ³μμ μ°λ Ήλλ³ μ°Έκ°μ μ μ μ₯ age_groups = {'20λ': 0, '30λ': 0, '40λ': 0} # μ°λ Ήλ λΆν¬ λ°μ΄ν° μμ± for participant in participants: age = participant["age"] if 20 <= age < 30: age_groups['20λ'] += 1 elif 30 <= age < 40: age_groups['30λ'] += 1 elif 40 <= age < 50: age_groups['40λ'] += 1 # CategoryChartData ν¨μλ₯Ό νμ©ν΄ μ°¨νΈ λ°μ΄ν° μμ± bar_chart_data = CategoryChartData() # μ°¨νΈ λ°μ΄ν° μΆκ° bar_chart_data.categories = list(age_groups.keys()) # λ§λ μ°¨νΈ μΆκ° bar_chart_data.add_series('μ°λ Ήλ λΆν¬', tuple(age_groups.values())) # λ§λ μ°¨νΈ μΆκ° chart = slide.shapes.add_chart(XL_CHART_TYPE.COLUMN_CLUSTERED, Inches(5), Inches(1.5), Inches(4), Inches(3), bar_chart_data).chart
7. pptx νμΌ μ μ₯
λ§μ§λ§μΌλ‘ μλ μ½λλ μμ
ν λ΄μ©μ pptx
νμΌλ‘ μ μ₯ν©λλ€.
# output_file.pptx νμΌλͺ μΌλ‘ μ μ₯ prs.save("output_file.pptx")
μμ λ§μλλ¦° κ²μ²λΌ μ½λλ‘ μμ ν λ΄μ©μ μ½λνλ μ¦ μ€μ΅ νλ©΄μμ νμΈνλ €λ©΄, λ°λμ νμΌλͺ μ
output_file
λ‘ μ§μ ν΄μ£ΌμΈμ!
νμ΄μ¬ μ½λλ‘ μ΄λ»κ² PPTλ₯Ό λ§λ€ μ μλμ§ κ°μ μ‘μΌμ ¨λμ?
λ€μ μμ
μμλ νμ΄μ¬μ νμ©ν΄ docx λ¬Έμ
λ₯Ό λ§λλ κ³Όμ μ 체νν΄λ³΄κ² μ΅λλ€.
Run the code and check the results.
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Execution Result
The document is empty.
Try running the code.