我对python-pptx
模块很新,所以请原谅我的无知。我试图修改PowerPoint文件中的现有表格,但我没有在文档中的任何地方看到我可以执行此操作的地方。
我知道在哪里可以使用add_table()
方法创建新表,但我只需要用Pandas数据帧中的数据修改现有表。
答案 0 :(得分:1)
一旦获得形状ID(如Saleh所述),就可以像这样修改表格单元格:
对于幻灯片0,其形状ID为6,将第一个单元格(0,0)更改为“ Pina Colada”:
Presentation('yourpowerpoint.pptx').slides[0].shapes[6].table.cell(0,0).text= 'Pina Colada'
答案 1 :(得分:0)
在python-pptx
中有多种选择形状的方法。 解决此问题的最佳方法是了解形状的ID ,您可以通过打开xml并找到形状来获取ID,也可以在幻灯片中循环浏览所有形状并以这种方式打印id。但是,您仍然可以在不知道其ID的情况下选择形状。
如果您知道形状ID ,则可以在幻灯片中搜索该形状ID,这样的操作就会返回您想要的形状。
for shape in slide.shapes:
if shape.shape_id == shape_id:
return shape
如果您不知道形状ID ,有几种方法可以获取形状,它们虽然有点笨拙,但都可以使用。
for shape in slide.shapes:
if shape.shape_type == your_shape_type:
return shape
for shape in slide.shapes:
if shape.has_chart:
if str([s.name for s in shape.chart.series][0]) == series_name:
return shape