Python 从.txt文件中提取行并复制到word.doc

Python 从.txt文件中提取行并复制到word.doc,python,text,if-statement,ms-word,Python,Text,If Statement,Ms Word,我想从.txt文件中提取几行文本,并将其复制到现有word文档的底部。我有一些东西可以从一个文本文件复制到另一个文本文件,但总体目标是将其复制到word文档的底部以生成报告 我正在使用Python2.6,目前有 with open('Error.txt', 'w') as f1: for line in open('2_axis_histogram.txt'): if line.startswith('Error'): f1.write(line)

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

我正在使用Python2.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()
我不知道我怎样才能把这个转给word


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

第一个问题:使用Google或StackOverflow搜索:


第二个问题:让“无错误”显示脱离循环…

第一个问题:使用谷歌或StackOverflow搜索:

第二个问题:让你的“无错误”显示脱离循环…

你应该研究一下

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

您应该查看


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

若要清除无关的
“无错误”
消息,请将
else
语句放入
for
循环,而不是
if
循环,因为后者在每一行都被选中:

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
-带
语句已经为您解决了这一问题。

要清除无关的
无错误消息,请将
else
语句放入
for
循环,而不是
if
语句,因为后者在每一行都被检查:

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”时不需要关闭注意,在编写python时,使用4个空格作为选项卡。您检查过Google吗?谷歌把我带到这里:虽然这是一个稍有不同的问题,但它提供了你的答案。“写”只会在它打印多次后发生,因为每行都会发生。另外,您正在中途关闭文件…使用“with”时不需要关闭注意,在编写python时,使用4个空格作为制表符。@martineau:已经有一些答案可以处理其他部分-我不太喜欢冗余。嗯,这就是我回答一个双重问题得到的结果:)@martineau:已经有一些答案可以处理另一部分了——我不太喜欢冗余。嗯,这就是我回答两个问题得到的结果:)我试过插入模块,但没有乐趣,它说不能修改docx模块,但我能看到任何想法>我试过插入模块,但没有乐趣,它说不能修改docx模块,但我能看到任何想法>