如何从 Excel 中提取数据并使用 Python 将其传输到 Powerpoint 上的现有图表和表格?
How can I pull data from Excel and transfer it to existing charts and tables on Powerpoint using Python?
每周,我都会收到相同的 excel 文件,但具有不同的更新值。我通常做的是手动从 excel 中提取这些值,并将它们放入 Powerpoint 中的相同图表和图形中以更新它们。例如,如果我获取 7 月第 2 周的更新值,我会获取这些值,打开 PowerPoint,打开图表,然后插入一个具有相应值的新日期。这通常需要我每周花费几个小时来完成。有什么方法可以 运行 一个脚本,在我下载 excel 文件后获取它们的值,并将它们添加到我现有 PowerPoint 文件的表格和图表中?如果是这样,我该怎么做以及我可以使用哪些库?或者有没有更好的方法可以自动执行此操作?
是的,这是 python-pptx
的一个相当常见的用例。您必须单独搜索每个细节,但这是我多次看到的通用策略:
使用 openpyxl
从 Excel 工作簿(.xlsx 文件)中读取您需要的值。
每周使用看起来像您想要的最终产品的“模板”.pptx 文件,但可更新的值不是最新的。这可能是您为此目的保留的特殊 .pptx 文件,也可能只是上周的文件。我建议您从上周的那个开始,然后始终使用与您的模板相同的那个。这只会让事情更容易预测。您可以先调用 prs = Presentation("my-template.pptx")
来开始该过程。
找到需要更新的图表。如果您总是使用相同的模板,可以是 chart = prs.slides[3].shapes[6].chart
或任何正确的数字,因为它总是在同一个地方。
创建一个包含新数字的新 ChartData
对象。
调用 chart.replace_chart_data(new_chart_data)
替换图表值。
然后prs.save(new_name_for_this_week)
就大功告成了。
python-pptx
文档在此处:https://python-pptx.readthedocs.io/en/latest/index.html
我会说完成入门练习只是作为热身,然后是这个例子:https://python-pptx.readthedocs.io/en/latest/user/charts.html
在那之后,Google 是你的朋友,大多数道路都会回到这里到 Whosebug,那里有超过 500 个问题以及关于 python-pptx
.
特定方面的答案。
每周,我都会收到相同的 excel 文件,但具有不同的更新值。我通常做的是手动从 excel 中提取这些值,并将它们放入 Powerpoint 中的相同图表和图形中以更新它们。例如,如果我获取 7 月第 2 周的更新值,我会获取这些值,打开 PowerPoint,打开图表,然后插入一个具有相应值的新日期。这通常需要我每周花费几个小时来完成。有什么方法可以 运行 一个脚本,在我下载 excel 文件后获取它们的值,并将它们添加到我现有 PowerPoint 文件的表格和图表中?如果是这样,我该怎么做以及我可以使用哪些库?或者有没有更好的方法可以自动执行此操作?
是的,这是 python-pptx
的一个相当常见的用例。您必须单独搜索每个细节,但这是我多次看到的通用策略:
使用
openpyxl
从 Excel 工作簿(.xlsx 文件)中读取您需要的值。每周使用看起来像您想要的最终产品的“模板”.pptx 文件,但可更新的值不是最新的。这可能是您为此目的保留的特殊 .pptx 文件,也可能只是上周的文件。我建议您从上周的那个开始,然后始终使用与您的模板相同的那个。这只会让事情更容易预测。您可以先调用
prs = Presentation("my-template.pptx")
来开始该过程。找到需要更新的图表。如果您总是使用相同的模板,可以是
chart = prs.slides[3].shapes[6].chart
或任何正确的数字,因为它总是在同一个地方。创建一个包含新数字的新
ChartData
对象。调用
chart.replace_chart_data(new_chart_data)
替换图表值。然后
prs.save(new_name_for_this_week)
就大功告成了。
python-pptx
文档在此处:https://python-pptx.readthedocs.io/en/latest/index.html
我会说完成入门练习只是作为热身,然后是这个例子:https://python-pptx.readthedocs.io/en/latest/user/charts.html
在那之后,Google 是你的朋友,大多数道路都会回到这里到 Whosebug,那里有超过 500 个问题以及关于 python-pptx
.