簡體   English   中英

使用 Python 將 DataFrame 導出到 pptx

[英]Exporting DataFrame to pptx using Python

我正在嘗試移動從 excel 導入的 DataFrame 並將其放在我的 pptx 演示幻燈片上。 到目前為止,我想出了以下代碼,但很難弄清楚如何將我已經導入的數據框實際移動到我的演示幻燈片中。

from pptx import Presentation
import pandas as pd


pr1 = Presentation()

slide1_reg = pr1.slide_layouts[5]

slide1 = pr1.slides.add_slide(slide1_reg)

title1 = slide1.shapes.title
title1.text = "slide 1"

df = pd.read_excel('data.xlsx')

print(df) #prints table from excel i need to put into the presentation

pr1.save("new.pptx")

有沒有辦法將此數據框作為表格移動到電源點? 謝謝你的幫助。

 X1  X2
0   1   4
1   2   3

我已經設法使用 pandas 和 pptx 將 dataframe 中的值作為圖表:

    from pptx import Presentation
from pptx.chart.data import CategoryChartData
from pptx.enum.chart import XL_CHART_TYPE
from pptx.util import Inches
import pandas as pd

pr1 = Presentation()

slide1_reg = pr1.slide_layouts[5]

slide1 = pr1.slides.add_slide(slide1_reg)

title1 = slide1.shapes.title
title1.text = "slide 1"

df = pd.read_excel('data.xlsx')

print(df) 

chart_data = CategoryChartData()
chart_data.categories = df.iat[0,0], df.iat[1,0] #gets string categories
chart_data.add_series('YTD', (df.iat[0,1], df.iat[1,1])) #gets integer values

x, y, cx, cy = Inches(1), Inches(1), Inches(2), Inches(2.5)
slide1.shapes.add_chart(
    XL_CHART_TYPE.COLUMN_CLUSTERED, x, y, cx, cy, chart_data
)

pr1.save("new2.pptx")

我來自 excel 的新 dataframe 看起來像這樣:

 Unnamed: 0  a  b  c
0    dataset  4  4  4
1   dataset1  3  3  3
2         aa  2  2  2

結果,我得到了一個包含 [dataset, dataset1] 類別和系列值 [4, 3] 的圖表。

假設我有 20 個類別數據集,dataset1...dataset19,在下一列中我有 integer 值。 我想要一個導出到 pptx 的圖表,我需要對類別使用 df.iat[row, column] 20 次,對系列使用 20 次來創建圖表嗎? 我可以以某種方式循環它嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM