700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【Python】python读取doc docx文件里的表格内容并存入excel中

【Python】python读取doc docx文件里的表格内容并存入excel中

时间:2023-12-07 23:16:31

相关推荐

【Python】python读取doc docx文件里的表格内容并存入excel中

效果

先展示下基本的效果,首先我们只有一个doc文件,与python的代码:

我这里用的是doc的word文档,文档内表格如下:

通过python读取后打印:

我这里没有专门按照表格内往excel中写,只是随意写了几个数据:

因为根据需要不同,要写的内容也不同,不过方法是差不多的,就是在读取word时把需要的数据存储下来,在写入表格中的时候填入即可。

程序运行完之后会生产docx文件与xlsx文件:

代码部分:

首先要先安装相关的模块:

使用docx文件需要加载:

pip install python-docx

使用doc文件需要加载:

pip install pywin32

使用xlsx文件需要加载:

pip install openpyxl

加载模块出现问题,或者超时之类可以参考我这篇文章:更换pip源等

接下来是代码部分,注释也都齐全:

# -*- coding:utf-8 -*-import osimport docxfrom docx import Document #导入库from win32com.client import Dispatch'''获取绝对地址,如果是doc的转换为docx。'''#文件相对路径file_path = "../TEST.doc"file_name, file_extension = os.path.splitext(file_path)#获取文件名、文件扩展名file_abs_path = os.path.abspath(file_path) #通过相对路径获取绝对路径if file_extension in [".doc"]:#打开word应用程序wd=Dispatch("Word.application")#后台运行wd.Visible = 0wd.DisplayAlerts = 0#打开doc文档,必须给一个绝对路径doc=wd.Documents.Open(file_abs_path)#另存为docxdoc.SaveAs(file_abs_path+r"x",12)#12表示docx格式#关闭文档doc.Close()#退出word应用wd.Quit()file_abs_path = file_abs_path+r"x"#更新路径为docx的路径'''读取word的表格内的数据,并按行打印。'''word = Document(file_abs_path) #读入文件tables=word.tablesfor i in range(len(tables)):tb=tables[i]#获取表格的行tb_rows=tb.rows#读取每一行内容for i in range(len(tb_rows)):row_data=[]row_cells=tb_rows[i].cells#读取每一行单元格内容for cell in row_cells:row_data.append(cell.text)#单元格内容print(row_data) #打印整行数据'''往excel中填写数据,在读取word时把需要的数据存储下来,在写入表格中的时候填入即可。'''# 导入模块from openpyxl import Workbook from openpyxl import workbookfrom openpyxl import load_workbook#新建excelwb = Workbook() # 实例化ws = wb.active # 激活 worksheet###打开已有excel表格##wb = load_workbook('../TEST.xlsx')##ws = wb["Sheet1"]for i in range(1,8,1):ws.cell(row=i, column=i, value=10)#row:行 column:列 value:内容wb.save('../TEST.xlsx') print('写入完成!')

需要整个工程的话可以加我公众号来获取:

关注公众号:逸趣汇

微信号:yiquhui666

发送:010703 获取下载链接。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。