从.txt文件中获取行并复制到单词.doc

时间:2013-07-08 13:24:47

标签: python text if-statement ms-word

我想从.txt文件中取出一行文本并将其复制到现有word文档的底部。我有一些东西可以从一个文本文件到另一个文本文件,但总体目标是将其复制到word文档的底部以获取报告。

我正在使用python 2.6并且目前有

with open('Error.txt', 'w') as f1:
    for line in open('2_axis_histogram.txt'):
        if line.startswith('Error'):
            f1.write(line)
        else:
            f1.write("No Error ")
    f1.close()

我不知道如何将其传递给单词。

此外,当没有错误并且使用了else条件时,它会打印出“No Error”次数,而我只需要打印一次该语句。

3 个答案:

答案 0 :(得分:1)

第一个问题:使用Google或StackOverflow搜索:Reading/Writing MS Word files in Python

第二个问题:让你的'No Error'显示出来了......

答案 1 :(得分:0)

您应该查看https://github.com/mikemaccana/python-docx

这是一个创建,读取和写入Microsoft Office Word 2007 docx文件的模块。

答案 2 :(得分:0)

要删除无关的"No Error"消息,请将else语句放入for循环,而不是if,因为后者会在每行检查:< / p>

with open('Error.txt', 'w') as f1:
    for line in open('2_axis_histogram.txt'):
        if line.startswith('Error'):
            f1.write(line)
            break            # Exit the for loop, bypassing the else statement
    else:                    # Only executed if the for loop finishes
        f1.write("No Error ")           

此外,无需关闭f1 - with声明已经为您处理。