1

我想从 .txt 文件中提取文本行并将其复制到现有 word doc 的底部。我有一些东西可以从一个文本文件到另一个文件,但总体目标是将其复制到报告的 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 条件时,它会打印出多次“无错误”负载,而我只需要它打印一次该语句。

4

3 回答 3

1

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

第二个问题:让你的“无错误”显示退出循环......

于 2013-07-08T13:27:45.450 回答
0

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

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

于 2013-07-08T13:28:11.313 回答
0

为了摆脱无关的"No Error"消息,将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声明已经为您处理好了。

于 2013-07-08T13:28:14.633 回答