IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 【办公自动化实例】根据关键词从word文档中提取相关信息并存到excel表格中 -> 正文阅读

[Python知识库]【办公自动化实例】根据关键词从word文档中提取相关信息并存到excel表格中

一、需求

根据关键词,从Word文档里的表格中提取所需要的数据汇总到Excel中,并汇总到Excel中做台帐。

二、分析及思路

常规表格中,我们一般会通过横向填写或者竖向填写的方式来进行内容的填写,有些单元格还会有合并的情况,如下图所示,通过 python 的 docx 模块,可以完成 word 文档的信息提取:
在这里插入图片描述

2.1 遍历文件夹中,需要提取的 docx 文件(这里最好是把将要提取的文件放在一个文件夹中)
2.2 通过 docx 模块里面的 table 方法,通过读取行/列的方式,遍历所有表格及表格中的内容;
2.3 通过给定的关键词,筛选出需要的数据;
2.4 将获取到的所有数据通过 pandas 存储的方式保存至 excel 中。

三、整体代码

from docx import Document
from openpyxl import load_workbook
import pandas as pd
import glob

'''
关键词存储在excel表格中,先提取(也可以直接手动写一个字典用于存储关键词)
'''
workbook = load_workbook(filename = '1.xlsx')
sheet = workbook.active
data_size = sheet.dimensions
dic={}
for cell in sheet[data_size][0]:
	dic[cell.value]=''

'''
遍历docx文件,读取表格相关内容
'''
doc_ls=[]
dic1={}
for path in glob.glob('*.docx'):
	doc = Document(path)
	for table in doc.tables:
		try:
		# 按行的方式读取
			for rows in table.rows:
				for i in range(0,len(rows.cells)):
					if rows.cells[i].text in list(dic.keys()):
						key = rows.cells[i].text
						value = rows.cells[i+1].text
						dic1[key] = [value]
			doc_ls.append(pd.DataFrame(dic1))

		except:
		# 按列的方式读取
			for cols in table.columns:
				for i in range(0,len(cols.cells)):
					if cols.cells[i].text in list(dic.keys()):
						key = cols.cells[i].text
						value = cols.cells[i+1].text
						dic1[key] = [value]
			doc_ls.append(pd.DataFrame(dic1))

'''
文件的合并存储
'''
df = pd.concat(doc_ls)
df.to_excel('提取后数据.xlsx')

代码相对简单,测试数据目前相对较少,可能有bug。

四、截图:

4.1 关键词的存储方式
在这里插入图片描述
4.2 提取后的数据
在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 10:49:15  更:2021-07-14 10:50:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:30:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码