python读取doc和docx的word文档工具类

需求:
读取目录下所有word文档,对整行空行的进行删除,输出文件名和word文档的内容

docx后缀的:

使用了第三方库 python-docx 来处理 Word 文档。在运行代码之前,您需要使用以下命令安装该库:

pip install python-docx
python
import os
from docx import Document

class FunnyScriptsReader:
    def __init__(self, directory):
        self.directory = directory

    def process_scripts(self):
        for filename in os.listdir(self.directory):
            if filename.lower().endswith('.doc'):
                file_path = os.path.join(self.directory, filename)
                self.process_script_file(file_path)

    def process_script_file(self, file_path):
        document = Document(file_path)
        file_name = os.path.basename(file_path)

        # 删除整行空行
        for paragraph in document.paragraphs:
            if not paragraph.text.strip():
                runs = paragraph.runs
                for run in runs:
                    run.text = ''
        
        # 输出文件名和文档内容
        print("文件名:", file_name)
        print("文档内容:")
        for paragraph in document.paragraphs:
            if paragraph.text.strip():
                print(paragraph.text)

        print()

# 使用示例
directory = r'D:\BaiduNetdiskDownload\'
reader = FunnyScriptsReader(directory)
reader.process_scripts()

python-docx库读取doc后缀的word文档有问题,可以
win32com库 。

pip install pywin32
import os
import win32com.client

# 定义一个函数,用于删除word文档中的空行
def remove_blank_lines(doc):
    paragraphs = doc.Paragraphs
    for paragraph in paragraphs:
        if paragraph.Range.Text.strip() == "":
            paragraph.Range.Delete()

# 定义一个目录路径,用于存放word文档
dir_path = r'D:\BaiduNetdiskDownload'

# 创建一个word应用对象,设置为不可见
word = win32com.client.Dispatch("Word.Application")
word.Visible = False

# 遍历目录下的所有文件,筛选出.doc后缀的文件
for file in os.listdir(dir_path):
    if file.endswith(".doc"):
        # 拼接文件的完整路径
        file_path = os.path.join(dir_path, file)
        try:
            # 打开word文档
            doc = word.Documents.Open(file_path)
            # 调用函数,删除空行
            remove_blank_lines(doc)
            # 输出文件名和文档内容
            print("文件名:", file)
            print("文档内容:", doc.Content.Text)
            # 关闭文档
            doc.Close()
        except Exception as e:
            # 捕获异常,输出错误信息
            print("Error:", e)

# 退出word应用
word.Quit()

关注公众号“大模型全栈程序员”回复“小程序”获取1000个小程序打包源码。更多免费资源在http://www.gitweixin.com/?p=2627

发表评论

邮箱地址不会被公开。 必填项已用*标注