python docx 合并文档 图片_关于Python文档操作,我觉得是它是最佳的选择

486e86d654231e0a2b4875e259d1bd93.png

我们都是Python可以操作表格文本,以及图片处理,但是今天我就给大家分享一个Python 是如何操作world文档​。

  1. 安装python-docx
  2. docx的详细操作
  3. 实战经验分享

很熟悉的1,2,3 就像那个看似简单又时难的问题,把大象放进冰箱怎么操作? 对的就是那么简单分三步:

  1. 打开冰箱(安装python-docx)
  2. 放进大象(docx的详细操作)
  3. 关上冰箱(实战经验分享)

无论现在你对于Python-docx是陌生还是了解,接下来和我走进Python学习的三部曲中,你会得到不一样的收获。

安装python-docx

首先Python的版本选择,一般选择Python3.4,由于官方对于Python2版本的不更新处理,所有没有任何犹豫,直接选择Python3版本以上就可以。

windows和linux的Python 环境下安装操作如下:

pip install python-docx 


也可以选择 直接从官网搜索 Python python-docx 进入官网下载版本解压安装

tar xvzf python-docx-{version}.tar.gz
cd python-docx-{version}
python setup.py install

本地的Pycharm编辑器安装的话,点击Settings -->>Project Interpreter-->>点击+输入python-docx进行搜索安装即可。

docx的详细操作

首先导入需要的类库类库

from docx import Document
from docx.oxml.ns import qn
from docx.shared import Pt
from docx.shared import Inches

新建一个文档

document = Document() 

创建字体样式

document.styles['Normal'].font.name = u'宋体'
document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')

字体和文档已经建好之后,开始添加一个标题,每一个wolrd的文档都是从标题开始

document.add_heading('Python is the best programming language') 

标题设置,还可以选择等级,一般是从1-9等级

document.add_heading('Python is the best programming language', level=4) 

关于文档的编辑,分页是需要的

document.add_page_break() 

Python-docx的操作基本就入门了,段落+分页+标题已经是文档的标配。

接下来我们将一步一步的深入docx的操作,远远不止段落和标题的操作。

添加表格,在文档中添加表格是一种数据展示最好的方式。

#添加2行2列的表格
table = document.add_table(rows=2, cols=2)


定位单元格属性之后并可以操作改单元格的内容以及其他的样式设置

cell = table.cell(0, 1) cell.text = 'Python 是最好的编程语言' 

单元格可以定位,同样的表格的行也可以实现定位,还可以进行批量的内容输入,for循环搞定逐行写入。

row = table.rows[1]
row.cells[0].text = 'Python可以实现文档的编辑操作'
row.cells[1].text = 'Python也可以实现网络爬虫'

for row in table.rows:
    for cell in row.cells:
        print(cell.text)

再给表格添加一个样式:

table.style = 'LightShading-Accent1'

Python-docx可以操作表格,那么也少不了图片的的添加。

document.add_picture('Python_images.png')

这个的图片路径是一般还是选择本地的路径吧,如果引入网络地址或者服务器上的图片资源路径可能会非常的缓慢。

指定图片尺寸大小

document.add_picture('image-filename.png', width=Inches(1.0))

接下来我们就给文档内容添加一些样式。

paragraph = document.add_paragraph()
paragraph.add_run('Python is the best programming language')
paragraph.add_run('Python可以实现文档的编辑操作').bold = True
paragraph.add_run(' XXX还可以继续添加内容')

字体设置一般包括(字体、大小、颜色、粗体、斜体)

paragraph = document.add_paragraph('ython is the best programming language')
paragraph.add_run('Python可以实现文档的编辑操作', '宋体')

另外一种字体设置方式

paragraph = document.add_paragraph('ython is the best programming language')
run = paragraph.add_run('Python可以实现文档的编辑操作')
run.style = '宋体'

字体的格式

from docx.shared import Pt
from docx import Document
document = Document()
run = document.add_paragraph().add_run()
font = run.font
font.name = 'Calibri'
font.size = Pt(12)
#斜体设置 True是开,False是关
font.italic = True
# 下划线 
font.underline = True
#字体颜色
from docx.shared import RGBColor
font.color.rgb = RGBColor(0x42, 0x24, 0xE9)
#恢复字体颜色
font.color.rgb = None

设置段落的水平对齐

from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
document = Document()
paragraph = document.add_paragraph()
paragraph_format = paragraph.paragraph_format
paragraph_format.alignment
paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER

设置段落左侧缩进

from docx.shared import Inches
paragraph = document.add_paragraph()
paragraph_format = paragraph.paragraph_format
paragraph_format.left_indent = Inches(0.5)

设置段落右侧缩进

from docx.shared import Pt
paragraph_format.right_indent
paragraph_format.right_indent = Pt(24)

第一行缩进使用first_line_indent属性指定,并相对于左缩进进行解释。负值表示挂起缩进

paragraph_format.first_line_indent
paragraph_format.first_line_indent = Inches(-0.25)
paragraph_format.first_line_indent

设置制表符

tab_stop = tab_stops.add_tab_stop(Inches(1.5)) tab_stop.position 

设置段落间距

paragraph_format.space_before = Pt(18) 

设置行间距

from docx.shared import Length paragraph_format.line_spacing = Pt(18) 

添加分页:

 paragraph_format.keep_with_next = True 

属性基本设置完毕后就可以指定路径保存并生成文档

document.save('test.docx') 

以上是文档的编辑,Python-docx对于文档的读取如下:

f = open('test.docx', 'rb')
document = Document(f)
f.close()

# 或者

with open('test.docx', 'rb') as f:
    s = StringIO(f.read())
document = Document(s)
s.close()

实战经验分享:附加我个人实战经验分享

5169cc2d8cb743ca31d2ec4e724cf0d5.png

7a423ece2be84e3dff90d23bb79811ee.png

fc22348b43ec195252ceb918a297ff2e.png
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 是一种易于学习又功能强大的编程语言。它提供了高效的高级数据结构,还有简单有效的面向对象编程。Python 优雅的语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。 Python 解释器及丰富的标准库以源码或机器码的形式提供,可以到 Python 官网 https://www.python.org/ 免费获取适用于各个主要系统平台的版本,并可自由地分发。这个网站还包含许多免费第三方 Python 模块、程序和工具以及附加文档的发布页面或链接。 Python 解释器易于扩展,可以使用 C 或 C++(或者其他可以通过 C 调用的语言)扩展新的功能和数据类型。Python 也可用于可定制化软件的扩展程序语言。 这个教程非正式地介绍 Python 语言和系统的基本概念和功能。最好在阅读的时候准备一个 Python 解释器进行练习,不过所有的例子都是相互独立的,所以这个教程也可以离线阅读。 有关标准的对象和模块,参阅 Python 标准库。Python 语言参考 提供了更正式的语言参考。想要编写 C 或者 C++ 扩展可以参考 扩展和嵌入 Python 解释器 和 Python/C API 参考手册。也有不少书籍深入讲解Python 。 这个教程并没有完整包含每一个功能,甚至常用功能可能也没有全部涉及。这个教程只介绍 Python 最值得注意的功能,也会让你体会到这个语言的风格特色。学习完这个教程,你将可以阅读和编写 Python 模块和程序,也可以开始学习更多的 Python 库模块,详见 Python 标准库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值