gpt4 book ai didi

python - PPTX-Python `insert_chart` 逐渐变慢

转载 作者:行者123 更新时间:2023-12-04 08:58:34 33 4
gpt4 key购买 nike

我们有一个应用程序可以创建超过 1000 张幻灯片的大型 pptx,我们正在使用 python-pptx图书馆。
我们遇到的问题是,随着 Presentation 的增长,向其中添加元素和/或图表变得更慢。

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


SLD_LAYOUT_TITLE_AND_CONTENT = 1

prs = Presentation()

slide_layout = prs.slide_layouts[SLD_LAYOUT_TITLE_AND_CONTENT]
for idx in range(2000):
slide = prs.slides.add_slide(prs.slide_layouts[5])

chart_data = CategoryChartData()
chart_data.categories = ['East', 'West', 'Midwest']
chart_data.add_series('Series 1', (19.2, 21.4, 16.7))

x, y, cx, cy = Inches(2), Inches(2), Inches(6), Inches(4.5)
slide.shapes.add_chart(
XL_CHART_TYPE.COLUMN_CLUSTERED, x, y, cx, cy, chart_data
)

print(str(idx))

prs.save('test.pptx')
我想知道以前有没有人遇到过这种情况?似乎 pptx-python 必须在 Presentation 内部查找,从而使其每次迭代变慢。或者是我们使用python循环并将变量加载到内存中的方式?

最佳答案

这似乎是图表和幻灯片部件名称分配中的 O(N^2) 行为。此处 GitHub 问题线程中的更多详细信息:https://github.com/scanny/python-pptx/issues/644#issuecomment-685056215

关于python - PPTX-Python `insert_chart` 逐渐变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63683594/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com