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 将字符串转换成字典dict
Mar 24 Python
Python socket C/S结构的聊天室应用实现
Nov 30 Python
Python多进程同步简单实现代码
Apr 27 Python
python批量制作雷达图的实现方法
Jul 26 Python
python中日志logging模块的性能及多进程详解
Jul 18 Python
Python实现简易版的Web服务器(推荐)
Jan 29 Python
Python中defaultdict与lambda表达式用法实例小结
Apr 09 Python
selenium+python实现自动化登录的方法
Sep 04 Python
Python一句代码实现找出所有水仙花数的方法
Nov 13 Python
Python中断多重循环的几种方式详解
Feb 10 Python
python环境下安装opencv库的方法
Mar 05 Python
Python离线安装各种库及pip的方法
Nov 28 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 foreach循环使用详解与实例代码
2010/05/08 PHP
用php解析html的实现代码
2011/08/08 PHP
PHP合并discuz用户脚本的方法
2015/08/04 PHP
PHP实现微信申请退款功能
2018/10/01 PHP
Yii框架自定义数据库操作组件示例
2019/11/11 PHP
全面解析Bootstrap表单使用方法(表单按钮)
2015/11/24 Javascript
基于Jquery实现仿百度百科右侧导航代码附源码下载
2015/11/27 Javascript
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
基于Layer+jQuery的自定义弹框
2020/05/26 Javascript
javascript创建对象的3种方法
2016/11/02 Javascript
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
关于vue面试题汇总
2018/03/20 Javascript
node.js实现微信开发之获取用户授权
2019/03/18 Javascript
在项目vue中使用echarts的操作步骤
2020/09/07 Javascript
[14:50]2018DOTA2亚洲邀请赛开幕式
2018/04/03 DOTA
python中关于时间和日期函数的常用计算总结(time和datatime)
2013/03/08 Python
python 字典的打印实现
2019/09/26 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
详解用Python进行时间序列预测的7种方法
2020/03/13 Python
django配置app中的静态文件步骤
2020/03/27 Python
python模块如何查看
2020/06/16 Python
scrapy结合selenium解析动态页面的实现
2020/09/28 Python
美国最顶级的精品店之一:Hampden Clothing
2016/12/22 全球购物
教育技术学专业职业规划书
2014/03/03 职场文书
《长相思》听课反思
2014/04/10 职场文书
大型活动组织方案
2014/05/10 职场文书
企业优秀员工事迹材料
2014/05/28 职场文书
品质口号大全
2014/06/17 职场文书
村干部群众路线教育活动对照检查材料
2014/10/01 职场文书
服务承诺书
2015/01/19 职场文书
中班下学期个人总结
2015/02/12 职场文书
2015年控辍保学工作总结
2015/05/18 职场文书
外出考察学习心得体会
2016/01/18 职场文书
入党申请书格式
2019/06/20 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python