Python实现自动化办公(二):Python对Word文档的基本操作(python 您所在的位置:网站首页 python操作docx Python实现自动化办公(二):Python对Word文档的基本操作(python

Python实现自动化办公(二):Python对Word文档的基本操作(python

2023-02-13 21:52| 来源: 网络整理| 查看: 265

Python对Word的基本操作

文章目录 Python对Word的基本操作 一、docx模块 1、官方文档 2、安装docx模块 二、基本函数的使用方法 1、读取 2、写入 三、使用案例 1、读取段落和行 2、读取表格 3、写入word 1、导包 2、案例

一、docx模块 1、官方文档

docx python库官方文档:python-docx 0.8.11 documentation

2、安装docx模块 pip3 install python-docx

注意:

此处安装不是pip3 install docx,如若使用pip3 install docx,则会出现以下报错。

File "D:\python\lib\site-packages\docx.py", line 30, in from exceptions import PendingDeprecationWarning ModuleNotFoundError: No module named 'exceptions' # ModuleNotFoundError:没有名为“exceptions”的模块

解决方法: 卸载之前安装的docx:pip3 uninstall docx 重新安装python-docx模块:pip3 install python-docx

二、基本函数的使用方法 1、读取

获取Word文档:document = Document('xx.docx') 获取所有段落:paras= document.paragraphs 获取段落内容:txt = para.text 获取所有行:runs = para.runs 获取行内容:run_txt = run.text 获取所有表格:tables = document.tables 获取表格中的所有行:rows = table.rows 获取行的所有单元格:cells = row.cells 获取单元格的值:txt = cell.text

2、写入

设置文档的基础字体:document.styles['Normal'].font.name = 'xx' 设置中文字体:document.styles['Normal'].element.rPr.rFonts.set(qn('w:eastAsia'),'xx') 插入图片:document.add_picture('图片',Table Grid') # 行、列、格式 添加表格内容(单元格):table.cell(x,y).text = 'xx' 合并表格单元格:table.cell(x1,y1).merge(table.cell(x2,y2)) # 左上角坐标,右下角坐标 初始化段落:para = document.add_paragraph() 设置对齐:para.alignment = 'xx' 设置段前间距:para.space_after = Pt(num) 设置段后间距:para.space_before = Pt(num) 添加行至段落:run = para.add_run('xx') 设置行字体:run.font.name = 'xx' 设置中文字体:run.element.rPr.rFonts.set(qn('w:eastAsia'),'xx') 设置行字体大小:run.font.size = Pt(num) 设置行字体是否加粗:run.bold = True # 是:True 否:False 添加分页符:document.add_page_break() 保存文档:document.save('xx.docx')Python库设置对齐的对应方法:

设置段落格式 功能 WD_ALIGN_PARAGRAPH.CENTER 水平居中对齐 WD_ALIGN_PARAGRAPH.LEFT 左对齐 WD_ALIGN_PARAGRAPH.RIGHT 右对齐 三、使用案例 1、读取段落和行

Word文档内容:在这里插入图片描述

符号↓即为换行,回车即为段落

代码如下:

from docx import Document # 可用于Word文档的定义 document = Document('python.docx') #获取Word文档 paras= document.paragraphs # 获取所有段落 for para in paras: # 获取每一个段落 txt = para.text # 获取每一个段落的内容 print(txt,'\n') print('#------------------------#') for para in paras: # 获取每个段落 for run in para.runs: # 获取段落的每一行 run_txt = run.text # 获取每一行的内容 print(run_txt,'\n')

效果如下图所示:在这里插入图片描述

2、读取表格

Word文档内容:在这里插入图片描述

使用docx库读取word表格首先要定位其中一个表格,然后获取表格的行,再获取表格中每个单元格的内容。操作方法类似于对Excel的遍历。在此篇博客中的openpyxl遍历Excel工作表(或指定区域)有记录遍历方法:Python实现自动化办公(一):Python对Excel的基本操作 代码如下:

from docx import Document # 可用于Word文档的定义 document = Document('python.docx') #获取Word文档 tables = document.tables # 获取Word文档中的所有表格 for table in tables: # 遍历表格 for row in table.rows: # 遍历表格的行 for cell in row.cells: # 遍历行的所有单元格 txt = cell.text # 获取单元格的值 print(txt,end = ' ') print('\n')

效果如下:在这里插入图片描述

3、写入word 1、导包

常用的方法:

from docx import Document # 可用于Word文档的定义 from docx.enum.text import WD_ALIGN_PARAGRAPH # 可用于定义格式 from docx.shared import Pt # 可用于定义间距或字体格式(磅数) from docx.oxml.ns import qn # 可用于设置中文格式 from docx.shared import Inches # 可用于设置图片尺寸 2、案例

代码如下:

from docx import Document # 可用于Word文档的定义 from docx.enum.text import WD_ALIGN_PARAGRAPH # 可用于定义格式 from docx.shared import Pt # 可用于定义间距或字体格式(磅数) from docx.oxml.ns import qn # 可用于设置中文格式 from docx.shared import Inches # 可用于设置图片尺寸 document = Document() document.styles['Normal'].font.name = '宋体' # 设置文档的基础字体 document.styles['Normal'].element.rPr.rFonts.set(qn('w:eastAsia'),'宋体') para_one = document.add_paragraph() # 初始化第一个自然段 para_one.alignment = WD_ALIGN_PARAGRAPH.CENTER run_1 = para_one.add_run('Python') # 添加行至第一段(题目) run_1.font.size = Pt(22) # 设置大小 run_1.bold = True # 设置粗体 para_two = document.add_paragraph() # 初始化第二个自然段 run_2 = para_two.add_run('CSDN:') # 添加行至第二段 run_2.font.size = Pt(15) # 设置大小 table = document.add_table(rows=2,cols=2,style='Table Grid') # 插入表格 #添加单元格内容 table.cell(0,0).text = 'Word' table.cell(0,1).text = '对应库' table.cell(1,0).text = 'Python' table.cell(1,1).text = 'python-docx' para_three = document.add_paragraph() # 初始化第三个自然段 para_four = document.add_paragraph() # 初始化第四个自然段 para_four.alignment = WD_ALIGN_PARAGRAPH.CENTER run_4 = para_four.add_run('人生苦短,我学Python') # 添加行至第二段 run_4.font.size = Pt(22) # 设置大小 document.add_page_break() # 添加分页符 document.add_picture('picture.jpg',width=Inches(5)) # 插入图片 document.save('python.docx')

效果如下:在这里插入图片描述 我是一名学生,目前正在学习中,本篇文章是我的学习笔记,如有错误的话还请指正。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有