python批量将word文档提取到excel表格

查看 102|回复 10
作者:矢岛舞美   
某天工作中需要将大量word文档中的内容提取到excel表格里面来进行处理,所以便有了这个东西。
[Python] 纯文本查看 复制代码import os
from docx import Document
import openpyxl
from tkinter import Tk, filedialog
def extract_text_from_docx(docx_path):
    doc = Document(docx_path)
    paragraphs = doc.paragraphs
    title = paragraphs[0].text if paragraphs else ''
    content = ''.join([f'{p.text}
' for p in paragraphs[1:]])
    return title, content
def create_excel(excel_path):
    wb = openpyxl.Workbook()
    ws = wb.active
    ws.append(["标题", "内容"])
    wb.save(excel_path)
    return excel_path
def append_to_excel(data, excel_path):
    wb = openpyxl.load_workbook(excel_path)
    ws = wb.active
    for title, content in data:
        ws.append([title, content])
    wb.save(excel_path)
def main():
    # 使用Tkinter打开文件夹选择对话框
    root = Tk()
    root.withdraw()  # 隐藏主窗口
    folder_path = filedialog.askdirectory(title="选择包含Word文档的文件夹")
    if not folder_path:
        print("未选择文件夹,程序退出。")
        return
    excel_path = filedialog.asksaveasfilename(defaultextension=".xlsx", filetypes=[("Excel files", "*.xlsx")],
                                              title="保存Excel文件")
    if not excel_path:
        print("未选择保存路径,程序退出。")
        return
    # 创建Excel文件
    create_excel(excel_path)
    # 使用os.walk递归遍历文件夹
    for root_dir, _, files in os.walk(folder_path):
        data = []
        for filename in files:
            if filename.endswith(".docx"):
                docx_path = os.path.join(root_dir, filename)
                title, content = extract_text_from_docx(docx_path)
                data.append((title, content))
        # 将数据追加到Excel文件
        append_to_excel(data, excel_path)
    print(f"数据已成功保存到 {excel_path}")
if __name__ == "__main__":
    main()

文件夹, 文档

Flanders   



001.png (181.11 KB, 下载次数: 0)
下载附件
2024-11-1 16:56 上传

试了下 转换出来是这个效果,楼主能科普下doc内的内容格式改怎么写吗 这是我测试的文档 该如何正确修改 请教一下

doc_excel.zip
(14.46 KB, 下载次数: 0)
2024-11-1 16:58 上传
点击文件名下载附件
下载积分: 吾爱币 -1 CB

Flanders   

另外有没有大神有示例可以把 xlsx的数据“标题、内容、结论”批量提取到word文档保存吗
jalonewy   

特定需求
gumu880310   

感谢楼主,留个脚印。
wusim   

请问有没已编译的程序
greatzdl   

学习了 很小巧实用
hkkuup   

在哪里?怎么用??
cku   

表格也可以搬过去吗
zhaoysh1004   

感谢分享,每天一个编程小技巧
您需要登录后才可以回帖 登录 | 立即注册

返回顶部