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 相关文章推荐
Python2中的raw_input() 与 input()
Jun 12 Python
Django实现简单分页功能的方法详解
Dec 05 Python
python去除拼音声调字母,替换为字母的方法
Nov 28 Python
Python实现将多个空格换为一个空格.md的方法
Dec 20 Python
python3 cvs将数据读取为字典的方法
Dec 22 Python
Python实现统计英文文章词频的方法分析
Jan 28 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
Oct 10 Python
Python利用PyExecJS库执行JS函数的案例分析
Dec 18 Python
什么是python的函数体
Jun 19 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
Oct 30 Python
python邮件中附加文字、html、图片、附件实现方法
Jan 04 Python
基于Python实现射击小游戏的制作
Apr 06 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
phpmyadmin中禁止外网使用的方法
2014/11/04 PHP
PHP MYSQL简易交互式站点开发
2016/12/27 PHP
WEB高性能开发之疯狂的HTML压缩
2010/06/19 Javascript
基于jquery的blockui插件显示弹出层
2011/04/14 Javascript
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
2013/05/27 Javascript
js 中将多个逗号替换为一个逗号的代码
2014/06/07 Javascript
JavaScript中join()方法的使用简介
2015/06/09 Javascript
简单实现js选项卡切换效果
2016/02/03 Javascript
jQuery简单实现仿京东分类导航层效果
2016/06/07 Javascript
全面了解构造函数继承关键apply call
2016/07/26 Javascript
深入理解javascript的getTime()方法
2017/02/16 Javascript
VUE axios发送跨域请求需要注意的问题
2017/07/06 Javascript
信息滚动效果的实例讲解
2017/09/18 Javascript
原生js实现淘宝放大镜效果
2020/10/28 Javascript
vue filter 完美时间日期格式的代码
2019/08/14 Javascript
Vue分页效果与购物车功能
2019/12/13 Javascript
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
2020/05/08 Javascript
mustache.js实现首页元件动态渲染的示例代码
2020/12/28 Javascript
[54:58]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第一场 11.25
2020/11/25 DOTA
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
2017/09/24 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
Python坐标轴操作及设置代码实例
2020/06/04 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
2020/08/07 Python
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
2013/01/07 HTML / CSS
CSS3制作Dropdown下拉菜单的方法
2015/07/18 HTML / CSS
html5 worker 实例(二) 图片变换效果
2013/06/24 HTML / CSS
Clarks英国官方网站:全球领军鞋履品牌
2016/11/26 全球购物
工程造价自荐信
2013/10/09 职场文书
个性大学生自我评价
2013/12/04 职场文书
丑小鸭教学反思
2014/02/03 职场文书
刊首寄语大全
2014/04/11 职场文书
大学生求职计划书
2014/04/30 职场文书
教师党员自我剖析材料
2014/09/29 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
英语教师个人总结
2015/02/09 职场文书
太行山上观后感
2015/06/05 职场文书