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 相关文章推荐
python中将函数赋值给变量时需要注意的一些问题
Aug 18 Python
Python实现感知机(PLA)算法
Dec 20 Python
使用Python读取大文件的方法
Feb 11 Python
python最长回文串算法
Jun 04 Python
python实现抖音视频批量下载
Jun 20 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
Jan 29 Python
Python常用数据类型之间的转换总结
Sep 06 Python
使用tensorflow DataSet实现高效加载变长文本输入
Jan 20 Python
python代码实现猜拳小游戏
Nov 30 Python
解决Pymongo insert时会自动添加_id的问题
Dec 05 Python
Python竟然能剪辑视频
May 25 Python
告别网页搜索!教你用python实现一款属于自己的翻译词典软件
Jun 03 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
BBS(php & mysql)完整版(八)
2006/10/09 PHP
php的curl实现get和post的代码
2008/08/23 PHP
php设计模式  Command(命令模式)
2011/06/17 PHP
ThinkPHP 防止表单重复提交的方法
2011/08/08 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
2013/06/03 PHP
设置php页面编码的两种方法示例介绍
2014/03/03 PHP
PHP实现的带超时功能get_headers函数
2015/02/10 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
2019/11/09 PHP
javascript 写的一个简单的timer
2009/07/30 Javascript
js 纯数字不重复排列的另类方法
2010/07/17 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
使用node.js 获取客户端信息代码分享
2014/11/26 Javascript
js获取页面description的方法
2015/05/21 Javascript
Ajax清除浏览器js、css、图片缓存的方法
2015/08/06 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
2016/06/12 Javascript
Json解析的方法小结
2016/06/22 Javascript
Bootstrap CDN和本地化环境搭建
2016/10/26 Javascript
layer弹窗插件操作方法详解
2017/05/19 Javascript
Vue源码解析之数组变异的实现
2018/12/04 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
python类参数self使用示例
2014/02/17 Python
Python的Flask框架中实现简单的登录功能的教程
2015/04/20 Python
Django中传递参数到URLconf的视图函数中的方法
2015/07/18 Python
解析Python中的__getitem__专有方法
2016/06/27 Python
示例详解Python3 or Python2 两者之间的差异
2018/08/23 Python
python获取时间及时间格式转换问题实例代码详解
2018/12/06 Python
详解python如何引用包package
2020/06/07 Python
天巡全球:Skyscanner Global
2017/06/20 全球购物
医学生求职自荐书
2014/06/12 职场文书
自主招生学校推荐信
2014/09/26 职场文书
2014年接待工作总结
2014/11/26 职场文书
工伤认定行政答辩状
2015/05/22 职场文书
2020年个人安全保证书参考模板
2020/01/08 职场文书