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中:


最终效果:

相关推荐
坚持学习前端日记6 分钟前
Agent AI 前端技术架构设计文档
前端·javascript·人工智能·python
m0_706653238 分钟前
CQE建模与更新:Creo与Excel深度结合应用
excel
威联通网络存储14 分钟前
数据驱动精密智造:威联通 ZFS 存储架构的合规实践
python·架构
yaoxin52112314 分钟前
350. Java IO API - Java 文件操作:java.io.File 与 java.nio.file 功能对比 - 2
java·python·nio
yaoxin52112320 分钟前
351. Java IO API - Java 文件操作:java.io.File 与 java.nio.file 功能对比 - 3
java·python·nio
2301_7614713921 分钟前
day 46
python
所谓伊人,在水一方33322 分钟前
【机器学习精通】第2章 | 优化算法深度解析:从梯度下降到自适应优化器
人工智能·python·算法·机器学习·信息可视化
Jackson@ML24 分钟前
2026最新版Anaconda Navigator for Mac安装使用指南
python·macos·anaconda
升职佳兴25 分钟前
Excel 学习笔记整理:常用操作、数据清洗与公式应用实战
笔记·学习·excel
Storynone26 分钟前
【Day24】LeetCode:122. 买卖股票的最佳时机 II,55. 跳跃游戏,45. 跳跃游戏II,1005. K次取反后最大化的数组和
python·算法·leetcode