Python:将文本写入页面上特定位置的2003 Word Doc

时间:2015-11-06 01:49:17

标签: python python-2.7 word-2003

我使用的是Python 2.7,Windows 7和Word 2003.这三个不能改变(除了可能是python版本)。我在Law工作,律师有大约3个锅炉板异议(只是一大段文字,可能是5段),需要插入特定地点的word文档。现在,我的想法是让用户通过文档添加一个特殊的单词/短语(如果你愿意的话,可以在文档中的任何地方找到),而不是通过复制和粘贴异议。然后运行一些代码并在其余部分中填充python。也许不是最聪明的方式,但我是一个菜鸟。我一直在练习测试页面并将下面的文字作为占位符插入(额外的" o"代表异议)

oone

otwo

othree

以下是我到目前为止的情况。我有两个问题

  1. 您还有其他建议吗?
  2. 我的代码确实以正确的顺序插入了字符串,但是格式化了窗口并且它在我的字符串中写入了6次而不是1.我如何解决格式问题,因此它只是将文本写入占位符所在的位置?

    import sys
    import fileinput
    f = open('work.doc', 'r+')
    obj1 = "oone"
    obj2 = "otwo"
    obj3 = "othree"
    for line in fileinput.input('work.doc'):
        if obj1 in line:
            f.write("Objection 1")
        elif obj2 in line:
            f.write("Objection 2")
        elif obj3 in line:
            f.write("Objection 3")
        else:
            f.write("No Objection")
    f.close
    

1 个答案:

答案 0 :(得分:0)

您可以使用python-uno将文档加载到OpenOffice中并使用UNO界面对其进行操作。我刚刚链接到的网站上有一些示例代码,可以帮助您入门。