基于python的docx模块处理word和WPS的docx格式文件方式
Python docx module for Word or WPS processing 本文是通过docx把word中的表格中的某些已填好的内容提取出来,存入excel表格。 首先安装docx的python模块: pip install python-docx 由于处理的为中文和符号,改成utf-8编码格式 import sys reload(sys) sys.setdefaultencoding('utf-8') from docx import Document import pandas as pd # 打开文件 doc = Document(ur'test_1.docx') Python的`docx`模块是用于处理Microsoft Word和WPS Office的docx文件的一个强大工具。这个模块允许开发者读取、写入以及修改Word文档,包括文档中的文本、表格、图片等多种元素。在这个场景中,我们将关注如何使用`docx`来提取Word文档中表格内的特定内容,并将其存储到Excel表格。 确保已经正确安装了`python-docx`模块,通过运行`pip install python-docx`来安装。由于我们要处理包含中文和符号的数据,我们需要设置系统默认的编码为UTF-8。这通常在Python 2.x版本中是必要的,但在Python 3.x版本中,编码已经默认为UTF-8,所以这一步在Python 3中可省略。 ```python import sys reload(sys) sys.setdefaultencoding('utf-8') from docx import Document import pandas as pd ``` 接着,打开要处理的docx文件: ```python doc = Document('test_1.docx') ``` 对于Word文档中以对勾(√)表示的已选择项,可以通过检查文本内容来提取: ```python '√' in doc.tables[0].rows[3].cells[2].text ``` 如果找到了对勾,我们可以进一步获取对勾后的具体内容: ```python text = doc.tables[0].rows[3].cells[2].text.split(u'√')[1].strip().split(' ')[0][2:] ``` 为了将Word表格中的数据与Excel表格(这里以CSV文件为例)对应起来,我们可以遍历Excel文件的列名,然后在Word表格中查找这些列名的位置。这可以通过创建一个字典来实现,字典的键是Excel列名,值是表格中的行索引和列索引: ```python xls = pd.read_csv('output.csv') diction = {} for xlskey in xls.columns: for row_id in range(num_rows): row = doc.tables[0].rows[row_id] for cell_id in range(len(row.cells)): if row.cells[cell_id].text.strip() == xlskey.strip(): diction[xlskey] = [row_id, cell_id] ``` 一旦找到对应位置,就可以根据这些位置提取Word表格中的数据,并将其填充到Excel表格中: ```python for each_column in xls.columns: pos = diction[each_column] textion = doc.tables[0].rows[pos[0]].cells[pos[1] + 1].text if u'√' in textion: this_text = textion.strip(' ').split(u'√')[1].split()[0][2:] else: this_text = textion xls.loc[0, each_column] = this_text ``` 你可以遍历所有需要处理的docx文件,使用相同的方法提取数据并更新Excel表格。这可以通过`glob`函数来实现,它能列出指定目录下所有匹配的文件路径: ```python import glob for filename in glob.glob('*.docx'): # 对每个文件执行上述步骤 ``` 通过以上步骤,我们可以有效地从Word或WPS的docx文件中提取表格数据,并将其转换存入Excel,实现了自动化处理大量文档数据的过程。这对于需要批量处理Word文档数据的工作场景尤其有用,如数据分析、报告生成等。























- 粉丝: 5
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 超实用excel表格运用技巧大全[会计实务-会计实操].doc
- 典型机床电气控制系统及PLC改造.pptx
- 2023年网易招聘网络编辑面试笔试题附网友答案.doc
- c语言下的交通模拟灯软件开发设计毕业论文.doc
- 财税实务:Excel2007中文本快速转换数字技巧.pdf
- WCDMA网络无线资源利用率分析.doc
- 2023年系统集成项目管理师考试范围.docx
- 2023年网络安全知识竞赛试题库.doc
- 大型网站SEO策划方案梦蕾设计网为您解答SEO优化概要.doc
- 电脑上做思维导图用什么软件哪个好用.pdf
- NandFlash在嵌入式系统中的应用研究的开题报告.docx
- java程序员辞职报告.docx
- 第三部分--中央预算内投资补助和贴息项目管理办法解读(共11张PPT).pptx
- 基于FreescaleHCS12系列单片机的结晶器振动控制系统——位移数据采集(2)(1).doc
- 阀门行业物流电子商务的发展趋势和难点(1).doc
- 通信网络安全知识培训-笔试-测试卷(技术)(1).docx


