【问题标题】:Open *.doc files in LibreOffice and Microsoft Word using python 3.6使用 python 3.6 在 LibreOffice 和 Microsoft Word 中打开 *.doc 文件
【发布时间】:2018-01-31 01:08:27
【问题描述】:

大家好!

我遇到了一个非常棘手的问题(至少我是这么认为的),我的客户使用 Microsoft Word 文档(我省略了这些文件的命名,其中许多文件的名称都很愚蠢,例如“ść ..doc”),是否可以在例如下打开那些文件Ubuntu下使用Python 3.6的Eclipse env?

多年来我使用Windows 7操作系统,但我想要一些改变,所以我安装了Ubuntu 16.04 LTS,我下载了环境(Eclipse氧气4.7.0),pydev等......但我忘记了我的主要文件是保存为 *.doc 文件。

有什么方法可以打开这些文件吗?你有什么建议?我在想一些“间接” *.xml 文件之王,但我应该使用哪种 lib 在 LibreOffice 软件下打开 *.doc 文件? (我不想在 Ubuntu 下使用一些“hack”来安装 Microsoft Word),从文件中获取数据之后呢?在 ubuntu 下使用什么样的 lib 将数据保存到 *.doc 文件? (因为我的客户会用 Microsoft Office 打开它)

架构很简单

  • ubuntu下用Python 3.6打开*doc文件,
  • 处理这些文件,
  • 在ubuntu下保存为*.doc文件。

也许使用一些 COM 对象在不同的​​操作系统下打开文件?有人可以分享一些在 ubuntu 下 Python 3.6 中使用的 COM 对象的“文档”吗? (对不起,如果我错了,我只听说我可以使用COM对象,我以前没有使用它)

感谢所有重播, 问候社区! 艾尔黛安

【问题讨论】:

    标签: python-3.x doc odf


    【解决方案1】:

    使用python docx,你可以在不使用com的情况下操作office文档,它内部使用xml,所以它是跨平台的

    更多信息

    click here

    【讨论】:

    • 是的,它似乎很好,但我得到 *.doc 文件而不是 *.docx 文件,据我所知,*.docx 文件是压缩的 xml 文件,所以它会很简单打开它。是否可以用于打开 *.doc 文件 python docx lib(或任何不同的)?如果没有 Microsoft Word,它如何打开那些 *.doc 文件?
    • 你想要doc文件的文本还是完整格式的doc文件
    • 我认为,不幸的是,我需要所有带有“白色字符”的内容,因为用户是一个菜鸟(哦,上帝原谅我的兴奋),他们不使用任何格式来写作文档中,有很多空格、制表符、换行符、\r 字符(顺便说一句,下一个问题是如何在 *.doc 文件中编码 \r 字符)。但是我使用 RegEx lib 来提取数据,我把它作为一些 python 脚本的表格,所以在 ubuntu 下做同样的事情不会有问题。
    • 你可以尝试使用以下命令 soffice --convert-to txt filename.doc 可能有效
    • 是的,我可以在 ubuntu 下做到这一点,并且是做我想做的事情的好方法 :) 但最后我想编写一些可以在 windows 下运行的应用程序(它有我的客户)。但我现在想这会很难,我猜运行 windows 会更容易,编写这个脚本并使用已知方法,对吗?
    【解决方案2】:

    我使用子进程调用 LibreOffice,然后打开文件(.doc.xlsx)。

    例如,

    import subprocess
    subprocess.call((libreoffice, complete_file_path))
    

    注意subprocess.call 需要的两对括号

    该文件随后会在 LibreOffice 中打开。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-15
      • 1970-01-01
      • 2019-04-04
      • 1970-01-01
      • 2015-03-26
      相关资源
      最近更新 更多