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

文章目录

代码💚

python 复制代码
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中:


最终效果:

相关推荐
智能体与具身智能7 小时前
TVA具身智能的概念、架构与应用(19)
人工智能·python·具身智能
2601_962294618 小时前
python中range函数怎么用
python·for循环·可迭代对象·range函数·整数列表
青 春 记 忆9 小时前
零基础入门python70:Docker Compose 编排完整后端
python·后端开发
新时代牛马9 小时前
字符设备驱动完整篇:从 cdev_add、file_operations 到chrdev_open 与排障
开发语言·python
白山编程大哥10 小时前
Java OutputStreamWriter 详解:从字符到字节的桥梁
java·开发语言·python
落羽的落羽10 小时前
【AI】快速理解AI应用的相关名词概念
linux·c++·人工智能·python·计算机网络·算法
Chasing__Dreams11 小时前
大模型应用开发--13--RAG 查询优化策略
python
“AI国潮设计-小江”11 小时前
《Python实战 | SDXL大模型批量生成“英歌舞海浪”蛋糕IP,附核心Prompt控制代码与IP授权变现思路》
人工智能·python·prompt·aigc
znnnk11 小时前
【Python】GUI 开发从入门到实战(三):PyQt/PySide 进阶之路
开发语言·python·pyqt
触底反弹13 小时前
面试被问到 Text2SQL,我用 DeepSeek 自己实现了一个
python·sqlite