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求两个list的差集、交集与并集的方法
Nov 01 Python
Python中用startswith()函数判断字符串开头的教程
Apr 07 Python
Python中基本的日期时间处理的学习教程
Oct 16 Python
Python中死锁的形成示例及死锁情况的防止
Jun 14 Python
机器学习的框架偏向于Python的13个原因
Dec 07 Python
Sanic框架Cookies操作示例
Jul 17 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
Dec 11 Python
python广度优先搜索得到两点间最短路径
Jan 17 Python
python 获取sqlite3数据库的表名和表字段名的实例
Jul 17 Python
python中的 zip函数详解及用法举例
Feb 16 Python
python3.7.2 tkinter entry框限定输入数字的操作
May 22 Python
python基础入门之普通操作与函数(三)
Jun 13 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 pack与unpack 摸板字符字符含义
2009/10/29 PHP
PHP判断数据库中的记录是否存在的方法
2014/11/14 PHP
discuz目录文件资料汇总
2014/12/30 PHP
PHP获取音频文件的相关信息
2015/06/22 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
2015/08/23 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
2010/11/09 Javascript
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
javascript时区函数介绍
2012/09/14 Javascript
JavaScript 产生不重复的随机数三种实现思路
2012/12/13 Javascript
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
Node.js中HTTP模块与事件模块详解
2014/11/14 Javascript
BootStrap select2 动态改变值的方法
2017/02/10 Javascript
jQuery实现元素的插入
2017/02/27 Javascript
基于webpack.config.js 参数详解
2018/03/20 Javascript
[56:18]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
跟老齐学Python之用Python计算
2014/09/12 Python
用python读写excel的方法
2014/11/18 Python
Python中处理字符串之islower()方法的使用简介
2015/05/19 Python
python实现汉诺塔方法汇总
2016/07/25 Python
python爬取w3shcool的JQuery课程并且保存到本地
2017/04/06 Python
python基于pygame实现飞机大作战小游戏
2020/11/19 Python
CSS3实现菜单悬停效果
2020/11/17 HTML / CSS
美国最便宜的旅游网站:CheapTickets
2017/07/09 全球购物
Hunkemöller瑞士网上商店:欧洲最大的内衣品牌之一
2018/12/03 全球购物
WatchShop法国:英国排名第一的独立手表零售商
2020/02/17 全球购物
连带责任保证书
2014/04/29 职场文书
班级文化标语
2014/06/23 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
2015年师德表现自我评价
2015/03/05 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
Python将CSV文件转化为HTML文件的操作方法
2021/06/30 Python
电频谱管理的原则是什么
2022/02/18 无线电
Mysql事务索引知识汇总
2022/03/17 MySQL
java项目构建Gradle的使用教程
2022/03/24 Java/Android
python区块链持久化和命令行接口实现简版
2022/05/25 Python