docx在哪下,docx怎么下载手机上

首页 > 体育 > 作者:YD1662024-01-01 06:33:08

docx在哪下,docx怎么下载手机上(1)

一、python-docx模块安装

Python的语法确实人性化,但是其系统本身也是真难操作,例如版本问题、第三方包下载安装等问题,我电脑安装这个python-docx这个第三方包就遇到了各种奇葩问题,难缠到脑袋疼,最终算是对付能用了,赶紧记录一下吧,避免再次入坑!

1、安装lxml模块

为什么要安装lxml模块呢?

2、安装python-docx模块

虽然已经安装了lxml模块,但是在Pycharm里面安装python-docx模块依然出错,所以再次回到操作系统终端窗口,输入:pip install python-docx回车,成功完成安装。

3、为虚拟环境安装python-docx模块


二、python-docx模块的使用

1、导入模块

python-docx实际上是一个包,实际需要使用的模块是docx,导入实例如下:

2、相关概念

3、创建并写入内容

from docx import Document from docx.shared import Cm # 如果不带参数,则创建一个空的docx文档;如果带参数,则打开参数指定的文档 doc = Document() # 设置大标题,级别为0;设置小标题,级别分别为1-3 doc.add_heading('Python操作Word文档演示', level=0) doc.add_heading('小标题1', level=1) doc.add_heading('小标题2', level=2) doc.add_heading('小标题3', level=3) # 添加段落内容 par1 = doc.add_paragraph('这是第一个段落!') par2 = doc.add_paragraph('这是第二个段落!') par3 = doc.add_paragraph('这是第三个段落!') # 为段落添加文字块 par1.add_run('这是段落1的文字块') par2.add_run('这是段落2的文字块,后面换行').add_break() # 添加图片,宽度设定为16厘米,高度为9厘米。如果不指定尺寸,则为图片原始尺寸 doc.add_picture('办公自动化1.jpg', width=Cm(16), height=Cm(9)) # 添加表格,使用二维列表为表格添加内容 lst = [['姓名', '语文', '数学'], ['小明', 92, 89], ['小红', 99, 90], ['小花', 94, 96]] # 创建表格对象,5行3列 table = doc.add_table(rows=5, cols=3) for row in range(len(lst)): cells = table.rows[row].cells for col in range(len(lst[0])): cells[col].text = str(lst[row][col]) # 保存文档内容,必须带参数 doc.save('test.docx')

生成的test.docx文档内容如下:

可以看到,创建的表格是没有边框的,python-docx模块里未包含设置边框信息的方法。

4、打开并读取内容

from docx import Document # 创建Document对象,打开文档 doc = Document('test.docx') # 遍历输出段落内容 print('总段落数:', len(doc.paragraphs)) for i in doc.paragraphs: print(i.text) # 按行遍历输出表格内容 for table in doc.tables: for row in table.rows: for cell in row.cells: print(cell.text) # 按列遍历输出表格内容 for table in doc.tables: for col in table.columns: for cell in col.cells: print(cell.text)


三、综合应用实例

某公司有几十或几百员工,每名员工都有一份word文档的档案信息表,文档格式均相同,见下图:

docx在哪下,docx怎么下载手机上(2)

现在想制作一个综合信息统计表格,要求内容有姓名、性别、出生年月等8项内容,这些内容在员工档案信息表里都有,如果采取手动复制粘贴或者重新录入的形式,工作量太大,还容易出错,这时就可以使用python写一段代码来批量处理,简单快捷!

代码如下:

from docx import Document from pathlib import Path # 自定义函数,返回表格指定行列的单元格内容 def result(row, col): cell = table.rows[row].cells return cell[col].text path = Path('档案信息') # 创建路径对象,档案信息文件夹里是所有档案登记表 files = list(path.glob('*.docx')) # 获取档案信息文件夹下所有docx文件,并转换成列表 tj_list = [] # 定义统计信息列表 # 遍历读取所有档案登记表的所需内容 for file in files: # 遍历得到的所有文件 doc = Document(file) # 打开当前文档 table = doc.tables[0] # 指定读取的表格 # 利用自定义函数result读取文档中指定位置的内容,放置到列表中 lst = [result(0, 1), result(0, 3), result(0, 5), result(1, 1), result(2, 1), result(2, 3), result(3, 1), result(4, 5)] tj_list.append(lst) # 将读取的内容列表追加到统计信息列表中 # 将读取的所有内容即tj_list的值写入到综合统计表中 doc = Document('综合统计表.docx') for table in doc.tables: for row in range(len(tj_list)): cells = table.rows[row 1].cells for col in range(len(tj_list[0])): cells[col].text = str(tj_list[row][col]) doc.save('综合统计表.docx')

程序运行后生成的综合信息统计表如下:

docx在哪下,docx怎么下载手机上(3)

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.