我对python-pptx
模块非常陌生,敬请谅解。我想修改一个已存在的PowerPoint文件中的表格,但在文档中没有找到可以用来实现这一点的方法。
我看到了可以使用add_table()
方法创建一个新表格,但我只需要使用来自Pandas数据帧的数据修改一个已有的表格。
我对python-pptx
模块非常陌生,敬请谅解。我想修改一个已存在的PowerPoint文件中的表格,但在文档中没有找到可以用来实现这一点的方法。
我看到了可以使用add_table()
方法创建一个新表格,但我只需要使用来自Pandas数据帧的数据修改一个已有的表格。
shape_id
,你可以像这样修改表格单元格:slide 0
和id = 6
的形状,将第一个单元格(0,0
)改为Pina Colada
:Presentation('yourpowerpoint.pptx').slides[0].shapes[6].table.cell(0,0).text= 'Pina Colada'
在python-pptx
中,有多种选择形状的方法。 最好的方法是知道形状的ID,您可以通过打开xml并查找形状或循环遍历幻灯片中的所有形状来获取ID。但是,即使不知道其ID,仍然可以选择该形状。
如果您知道形状的ID,则可以搜索幻灯片以查找该形状的ID,类似这样的操作将返回所需的形状。
for shape in slide.shapes:
if shape.shape_id == shape_id:
return shape
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