python-自动篇-办公-案例-一键将word中的表格提取到excel文件中

发布时间:2024年01月21日

代码💚

import os
from docx import Document
from openpyxl import Workbook

#获取待处理的文件的路径
path='word文件'  #文件所在文件夹
files = [path+"\\"+i for i in os.listdir(path)] #获取文件夹下的文件名,并拼接完整路径

for file in files:
    doc = Document(file)

    wb = Workbook()
    wb.remove(wb.worksheets[0])#删除工作簿自带的工作表
    for index, table in enumerate(doc.tables, start=1): #从1开始给表格编号
        ws = wb.create_sheet(f"Sheet{index}")#创建新工作表,以"Sheet" + word中表格的编号命名
        for i in range(len(table.rows)): #遍历word中表格的所有行
            row_data = [] #储存表格中每行的数据
            for j in range(len(table.columns)): #遍历word中表格的所有列
                row_data.append(table.cell(i,j).text)
            ws.append(row_data) #每取一行就写入数据到Excel表的行中
            
    wb.save("excel文件\\{}.xlsx".format(file.split("\\")[1].split(".")[0])) #保存excel文件

说明🐖

前提:您电脑上有python,还有就是编辑器vscode或其他

第一步:复制代码使用

第一:您复制代码到vscode运行,花现下面的报错,这时候需要pip按照对应的库
在这里插入图片描述

其实就是在:cmd中输入:pip install +对应报错需要的库,如上是docx
在这里插入图片描述
当然,也不会很顺利只使用“pip”就能解决,比如
在这里插入图片描述
使用pip时,出现红色报错啦
在这里插入图片描述

搜索报错信息

ERROR: Could not find a version that satisfies the requirement exceptions (from versions: none)
ERROR: No matching distribution found for exceptions

这个错误提示我输入了 exceptions,提示找不到这个包和它的版本号。但是不是有效信息

ModuleNotFoundError: No module named ‘exceptions’

得出下面解决方案
在这里插入图片描述

第二步:将转换文档放到根目录

在这里插入图片描述
否则会出现下述报错
在这里插入图片描述

第三步:运行py

效果:

将word的表格内容:
在这里插入图片描述
通过py一键复制到excel中:

在这里插入图片描述
在这里插入图片描述

最终效果:
在这里插入图片描述

文章来源:https://blog.csdn.net/stqer/article/details/135725432
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。