Python  word实现读取及导出代码解析


Posted in Python onJuly 09, 2020

2个简单的代码,帮你实现word的导出和word的读取

功能一:导出word,word中的内容为

Python  word实现读取及导出代码解析

代码:

from docx import Document
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT #设置对象居中、对齐等。
from docx.enum.text import WD_TAB_ALIGNMENT,WD_TAB_LEADER #设置制表符等
from docx.shared import Inches #设置图像大小
from docx.shared import Pt #设置像素、缩进等
from docx.shared import RGBColor #设置字体颜色
from docx.shared import Length #设置宽度
from docx.oxml.ns import qn
import time
today=time.strftime("%Y{y}%m{m}%d{d}",time.localtime()).format(y="年",m="月",d="日")

document=Document()
document.styles["Normal"].font.name=u'宋体'# 设置文档的基础字体
document.styles["Normal"].element.rPr.rFonts.set(qn('w:eastAsia'),u'宋体')#设置文档的基础中文字体


#初始化建立第一个自然段
p1=document.add_paragraph()
p1.alignment=WD_PARAGRAPH_ALIGNMENT.CENTER#对齐方式为居中
run1=p1.add_run("关于下达%s产品的通知"%today)
run1.font.name="微软雅黑"
run1.font.size=Pt(21) # 字体大小为21磅
run1.font.bold=True #加粗
p1.space_after=Pt(5)#段后距离5磅
p1.space_before = Pt(5)# 段前距离5磅

# 建立第一个自然段
i='客户3'
p2 = document.add_paragraph()
run2 = p2.add_run("%s:" % i)
run2.font.name = "仿宋_GB2312"
run2.element.rPr.rFonts.set(qn('w:eastAsia'), u'仿宋_GB2312')
run2.font.size = Pt(16)
run2.font.bold = True

# 建立第一个自然段
p3 = document.add_paragraph()
run3 = p3.add_run(" 根据公司安排,为提供优质客户服务,我单位将价格通知如下:" )
run3.font.name = "仿宋_GB2312"
run3.element.rPr.rFonts.set(qn('w:eastAsia'), u'仿宋_GB2312')
run3.font.size = Pt(16)
run3.font.bold = True

# 建立表格
table=document.add_table(rows=3,cols=3,style='Table Grid')
table.cell(0,0).merge(table.cell(0,2))# 合并第一行
table_run1=table.cell(0,0).paragraphs[0].add_run('XX产品报价表')# 合并单位格内填入XX产品报价表
table_run1.font.name = u"隶书"
table_run1.element.rPr.rFonts.set(qn('w:eastAsia'), u'隶书')
table.cell(0, 0).paragraphs[0].alighment=WD_PARAGRAPH_ALIGNMENT.CENTER#居中
table.cell(1, 0).text='日期'
table.cell(1, 1).text = '价格'
table.cell(1, 2).text = '备注'
table.cell(2, 0).text = today
table.cell(2, 1).text ='100'
table.cell(2, 2).text = ''

document.add_page_break()#分页符
document.save('价格通知.docx')#保存

需要说明的是

run3.font.name = "仿宋_GB2312"
run3.element.rPr.rFonts.set(qn('w:eastAsia'), u'仿宋_GB2312')

这两句均是设置字体为仿宋_GB2312,之所以要两种格式写两遍,是因为word对中文支持不太友好,需要再填一句

功能二:读取word,word中的内容为

Python  word实现读取及导出代码解析

读取表格外文字的代码:

from docx import Document
document=Document("长恨歌.docx")
print("读取非表格中的内容:")
all_paragraphs=document.paragraphs
for paragraph in all_paragraphs:
  print(paragraph.text)

读取表格内文字的代码:

from docx import Document

document=Document("长恨歌.docx")
print("读取表格中的内容:")
tables=document.tables
for 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(''.join(row_data))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Django卸载之后重新安装的方法
Mar 15 Python
Windows下PyCharm安装图文教程
Aug 27 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
Jun 04 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
Jun 18 Python
用Python+OpenCV对比图像质量的几种方法
Jul 15 Python
python实时检测键盘输入函数的示例
Jul 17 Python
python 视频逐帧保存为图片的完整实例
Dec 10 Python
python自动识别文本编码格式代码
Dec 26 Python
python 计算方位角实例(根据两点的坐标计算)
Jan 17 Python
Python中logging日志库实例详解
Feb 19 Python
Django认证系统user对象实现过程解析
Mar 02 Python
Python使用re模块验证危险字符
May 21 Python
推荐技术人员一款Python开源库(造数据神器)
Jul 08 #Python
实例讲解Python 迭代器与生成器
Jul 08 #Python
opencv 阈值分割的具体使用
Jul 08 #Python
如何表示python中的相对路径
Jul 08 #Python
如何卸载python插件
Jul 08 #Python
python中数字是否为可变类型
Jul 08 #Python
如何让python的运行速度得到提升
Jul 08 #Python
You might like
mysql 搜索之简单应用
2007/04/27 PHP
php中adodbzip类实例
2014/12/08 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
2015/08/27 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
php中的buffer缓冲区用法分析
2019/05/31 PHP
javascript vvorld 在线加密破解方法
2008/11/13 Javascript
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
海量经典的jQuery插件集合
2010/01/12 Javascript
jQuery实现的立体文字渐变效果
2010/05/17 Javascript
ZeroClipboard插件实现多浏览器复制功能(支持firefox、chrome、ie6)
2014/08/30 Javascript
jquery实现图片随机排列的方法
2015/05/04 Javascript
js实现改进的仿蓝色论坛导航菜单效果代码
2015/09/06 Javascript
javascript自动恢复文本框点击清除后的默认文本
2016/01/12 Javascript
AngularJS学习笔记之依赖注入详解
2016/05/16 Javascript
Bootstrap基本插件学习笔记之折叠(22)
2016/12/08 Javascript
Angular.JS中的指令引用template与指令当做属性详解
2017/03/30 Javascript
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
Bootstrap-table使用footerFormatter做统计列功能
2018/09/07 Javascript
JavaScript的级联函数用法简单示例【链式调用】
2019/03/26 Javascript
JS正则表达式封装与使用操作示例
2019/05/15 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
JavaScript实现轮播图特效
2020/04/10 Javascript
python3中set(集合)的语法总结分享
2017/03/24 Python
Python图片裁剪实例代码(如头像裁剪)
2017/06/21 Python
Python操作Oracle数据库的简单方法和封装类实例
2018/05/07 Python
基于随机梯度下降的矩阵分解推荐算法(python)
2018/08/31 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
2019/01/08 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
Django Docker容器化部署之Django-Docker本地部署
2019/10/09 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
如何在Canvas中添加事件的方法示例
2019/05/21 HTML / CSS
大三毕业自我鉴定
2014/01/15 职场文书
《蓝色的树叶》教学反思
2014/02/24 职场文书
意向书范文
2014/03/31 职场文书
战略合作意向书
2014/07/29 职场文书
酒店人事专员岗位职责
2015/04/07 职场文书