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 图片验证码代码分享
Jul 04 Python
Python图像滤波处理操作示例【基于ImageFilter类】
Jan 03 Python
对Django 中request.get和request.post的区别详解
Aug 12 Python
Django项目后台不挂断运行的方法
Aug 31 Python
Window10下python3.7 安装与卸载教程图解
Sep 30 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
Sep 30 Python
python获取引用对象的个数方式
Dec 20 Python
深入了解如何基于Python读写Kafka
Dec 31 Python
详解python破解zip文件密码的方法
Jan 13 Python
python 动态绘制爱心的示例
Sep 27 Python
Python中使用Lambda函数的5种用法
Apr 01 Python
基于python实现银行管理系统
Apr 20 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
php 方便水印和缩略图的图形类
2009/05/21 PHP
php获取汉字首字母的函数
2013/11/07 PHP
PHP框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
jQuery学习笔记之jQuery动画效果
2013/09/09 Javascript
jquery实现两个图片渐变切换效果的方法
2015/06/25 Javascript
JavaScript知识点总结(四)之逻辑OR运算符详解
2016/05/31 Javascript
浅谈json取值(对象和数组)
2016/06/24 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
判断数组的最佳方法(推荐)
2016/10/11 Javascript
Javascript实现数组中的元素上下移动
2017/04/28 Javascript
react-navigation之动态修改title的内容
2018/09/26 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
2020/04/13 Javascript
解决vue项目获取dom元素宽高总是不准确问题
2020/07/29 Javascript
python多维数组切片方法
2018/04/13 Python
python 判断参数为Nonetype类型或空的实例
2018/10/30 Python
python遍历小写英文字母的方法
2019/01/02 Python
利用python和百度地图API实现数据地图标注的方法
2019/05/13 Python
python numpy存取文件的方式
2020/04/01 Python
Django实现文件上传下载功能
2019/10/06 Python
python实现KNN分类算法
2019/10/16 Python
python 比较2张图片的相似度的方法示例
2019/12/18 Python
美国最大网上鞋店:Zappos
2016/07/25 全球购物
Space NK美国站:英国高端美妆护肤商城
2017/05/22 全球购物
美国婴儿用品及配件购买网站:Munchkin
2019/04/03 全球购物
英国外籍人士的在线超市:British Corner Shop
2019/06/03 全球购物
后勤岗位职责
2013/11/26 职场文书
房地产出纳岗位职责
2013/12/01 职场文书
我的求职择业计划书
2014/04/04 职场文书
读书月活动方案
2014/05/22 职场文书
应届毕业生自荐信
2014/05/28 职场文书
施工安全责任书范本
2014/07/24 职场文书
2015年初中元旦晚会活动总结
2014/11/28 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
研究生导师评语
2014/12/31 职场文书
幼儿园辞职信
2015/05/13 职场文书
教师读书活动心得体会
2016/01/14 职场文书