gpt4 book ai didi

python-pptx ".ppt"处理变通

转载 作者:太空宇宙 更新时间:2023-11-03 11:44:06 38 4
gpt4 key购买 nike

我目前正在尝试从 .ppt 和 .pptx 文件中提取文本。我成功地使用 python-pptx 来处理 .pptx 文件,但是根据 its documentation , "PowerPoint 2003 及更早版本中的 .ppt 文件将无法使用。"

使用这行代码创建演示文稿项时:

`prs = Presentation("Filepath\\presentation.ppt")`

我收到以下错误:

`Traceback (most recent call last):
...shortened for brevity....
KeyError: "no relationship of type 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument' in collection"`

我认为发生此错误是因为 python-pptx 无法处理 .ppt 文件。我尝试通过三种方式来补救这种情况:

  1. 我想使用与 python-pptx 关联的 .save() 函数,但我必须制作一个演示项目才能做到这一点。我不能那样做,因为我必须首先使用无法处理 .ppt 文件的 python-pptx。
  2. 利用os.rename(src, dst)
    • 这没有工作。重命名文件与“另存为”不同,因此会使文件损坏。
  3. 我使用 win32com 打开 PowerPoint 应用程序,打开 .ppt 文件,然后将文件另存为 .pptx,然后关闭文件和应用程序。

    • 此方法有效,但它确实“笨拙”。 (见下面的代码。)

    Application = win32com.client.Dispatch("PowerPoint.Application")
    Application.Visible = True
    Presentation = Application.Presentations.Open("文件路径\\presentation.ppt")
    Presentation.Saveas("文件路径\\presentation.pptx")
    展示.关闭()
    Application.Quit()

我向社区提出的问题是,是否有更复杂或更优雅的方法来解决我的困境。我的困境是我希望能够解析 .ppt 文件中的文本,而 python-pptx 不处理这些文件类型。

最佳答案

您的方法就是我的方法,也许是在开始 python-pptx 处理之前作为批处理过程。我可能会使用 IronPython 来访问 MS API,但它本质上是相同的方法。

您可以使用解决 LibreOffice 或 Open Office 库的 Python 库来执行此操作(PyOO 是一个示例)。这可能具有不需要 Windows 的优势,但它本质上仍然是“编写”正在运行的 Office 应用程序来完成工作;它不是直接的库界面。这意味着它可能不太适合可靠运行的服务器端,如果这是您所追求的。

关于python-pptx ".ppt"处理变通,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43378312/

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