python - 如何使用 pandas 和 python-pptx 修改 powerpoint 中的现有表格?

标签 python pandas powerpoint python-pptx

我有一个与此类似的表,我想修改: table

我对这个库还是新手,我似乎无法理解如何从文档中修改现有表。最好的方法是什么?我已经有了数据框(3 列,8 行),并且可以访问该表(例如 slide[0].shape[1])。如何使用此数据框来更新数据(电影、售票量、观看百分比?)

最佳答案

您必须编写一个简短的例程来逐个单元地执行此操作。 PowerPoint 表格中的每个单元格都是一个文本容器,并且 API 中没有“从序列序列(矩阵)填充此表格的单元格”方法。

请注意,所有值都必须为 str 类型(如果使用的是 Python 2,则为 unicode)。 PowerPoint 表格不像 Excel 那样没有数字或公式的概念。每个单元格仅包含文本。

这样的方法在简单的情况下可以解决问题,但是您已经可以看到可能存在复杂性,例如“如果我想跳过标题行怎么办”或“如果矩阵的大小与表格不同怎么办” ,或者“如果我想根据列格式化具有特定小数位的数字该怎么办”等。

M = {"matrix", some sequence of sequences like a `numpy` array or list of lists}
table = {"table" object retrieved from a shape on a slide}
populate_table(table, M)

def populate_table(table, M):
    for row in range(len(M)):
        row_cells = table.rows[row].cells
        for col in range(len(M[0]):
            row_cells[col].text = str(M[row][col])

涉及的代码很小且易于定制,并且设计和使用通用解决方案的复杂性相当高,因此这需要用户自己解决。

没有什么可以阻止您创建自己的函数,如上面的 populate_table(matrix, table) 并在适合您的地方使用它。

关于python - 如何使用 pandas 和 python-pptx 修改 powerpoint 中的现有表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68421604/

相关文章:

vba - 将图片从 excel 粘贴到适合布局的 powerpoint

python - 使用 openpyxl 在 Excel 工作表中的文本字符串中搜索单词

python - 如何使用seaborn.objects显示所有x-tick标签

Python:BeautifulSoup Findall 跳到下一个标签

python - PyTorch:时间序列任务的数据加载器

python - Pandas 数据帧传播功能或类似功能?

python - 如何在matplotlib、python的图例中显示℃?

python - Pandas 数据框的 3D 绘图

ios - 有没有一种偷偷摸摸的方法可以通过 Adob​​e Flex IOS 打包程序在 iPad 上获取 swf 行为

java - 3.13 版中缺少 Apache POI hslf?