今天中公优就业大白和大家分享Python办公自动化:自动打开word文档。

python-docx允许您创建新文档以及更改现有文档。实际上,它只允许您更改现有文档;

但如果不存在此文件,将会自动从头开始创建一个。

这个功能很强大。文档的主要格式外观取决于删除所有内容时剩下的部分。样式和页眉和页脚等格式信息与要内容分开存在,并允许您在起始文档中进行各种自定义,最后生成最终文档。

让我们逐步完成一个示例创建文档的步骤。从2大主要功能开始吧,打开并保存它。

一、打开文件

最简单的入门方法是打开一个新文档而不指定要打开的文件:

from docx import Documentdocument =

Document()document.save('test.docx')

这将从内置的默认模板创建一个新文档,并将其保存为名为“test.docx”的文件。所谓的“默认模板”实际上只是一个没有内容的Word文件,与已安装的python-docx

软件包一起存储。它与您 在选择Word的文件>从模板新建...菜单项后选择Word 文档模板大致相同。

真的打开文件

如果您想要对最终文档进行更多控制,或者如果要更改现有文档,则需要使用文件名打开一个文档:

document =

Document('existing-document-file.docx')document.save('new-file-name.docx')

注意事项:

您可以通过这种方式打开任何Word 2007或更高版本的文件(Word

2003及更早版本中的.doc文件将不起作用)。虽然您可能无法操作所有内容,但已经存在的任何内容都会加载并保存得很好。功能集仍在构建中,因此您无法添加或更改标题或脚注之类的内容,但如果文档中包含它们,python-docx则可以让它们保持单独且足够智能以保存它们而无需实际了解它们是什么。

如果您使用相同的文件名打开并保存文件,python-docx将乖乖地覆盖原始文件而不会窥视。你要确保这是你想要的。

二、打开'文件'文档

python-docx可以从所谓的类似文件的对象中打开文档。它还可以保存到类似文件的对象。当您希望通过网络连接或数据库获取源文档或目标文档并且不希望(或不允许)与文件系统交互时,这可能很方便。实际上,这意味着您可以传递打开的文件或StringIO

/ BytesIO流对象来打开或保存文档,如下所示:

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

orwith open('foobar.docx', 'rb') as f: source_stream =

StringIO(f.read())document =

Document(source_stream)source_stream.close()...target_stream =

StringIO()document.save(target_stream)

该'rb'文件打开方式参数不是必需的所有操作系统上。默认情况下'r'有时足够,但Windows上至少需要某些版本的Linux才能使用'b'(选择二进制模式),以允许Zipfile打开文件。

终上所述,打开了一个文件,并且将它保存到某个地方。下一步,我将会带你领略下如何自动对文档进行排版。

推荐阅读:

python打开word并在前台显示_Python办公自动化:自动打开word文档,你学到了吗?相关推荐

  1. python打开word并在前台显示_Python自动化办公之Word,全网最全看这一篇就够了

    作者:超级大洋葱806 https://tangxing.blog.csdn.net/article/details/108418066 环境安装 使用Python操作word大部分情况都是写操作,也 ...

  2. 如何利用python自动化办公项目_python办公自动化:自动进行word文档处理和排版

    上节python办公自动化:自动打开word文档我们一起学会了在python里打开并保存一个word文档.这节我们将会学会如何利用python进行文本处理和将其在word里进行排版等技巧. pytho ...

  3. python word排版_python办公自动化:自动进行word文档处理和排版-docx文件

    上节python办公自动化:自动打开word文档我们一起学会了在python里打开并保存一个word文档.这节我们将会学会如何利用python进行文本处理和将其在word里进行排版等技巧. pytho ...

  4. python打开电脑文件_python办公自动化:自动打开word文档-docx文件怎样打开

    上节python办公自动化:python自动化word快速入门,对python自动化word的操作做了快速入门,从本小节开始,逐步细致的分解讲解每一个关键步骤. python自动化word 使用文档 ...

  5. python查数据库写入excel_【Python】将数据库中的数据查询出来自动写入excel文档...

    近期每天都要监控一个数据. 第一个版本是这样的: 每天新增一个文档来汇总这个数据.这样搞了几天之后,过了一个周末,过来突然发现数据变多了很多,这个时候要调整策略,直接一个文档汇总出要的数据就可以了. ...

  6. python将数据写入excel_【Python】将数据库中的数据查询出来自动写入excel文档

    近期每天都要监控一个数据.第一个版本是这样的: 每天新增一个文档来汇总这个数据.这样搞了几天之后,过了一个周末,过来突然发现数据变多了很多,这个时候要调整策略,直接一个文档汇总出要的数据就可以了. 这 ...

  7. python如何在图片上添加文字_python在图片中添加文字学习文档

    一开始出现错误如下: 原因为0000.JPG前应该是\而不是.修改后,运行以下代码,报错: 查阅资料后,加上了字体文件的路径 运行以下代码后,仍有相同的报错 from PIL import Image ...

  8. python只读打开文件,python如何使用只读、不显示窗口的方式打开ppt文件

    下面的python代码通过win32com打开ppt文件,默认情况下powerpoint的窗口会打开显示ppt文件内容,如果不希望powerpint显示,可以在Presentations.Open的方 ...

  9. Word在试图打开文件时遇到错误。 请尝试下列方法: 检查文档或驱动器的文件权限。 确保有足够的内存和磁盘空间。 用文本恢复转换器打开文件。

    重新装office之后打开系统的文件提示: Word在试图打开文件时遇到错误. 请尝试下列方法: 检查文档或驱动器的文件权限. 确保有足够的内存和磁盘空间. 用文本恢复转换器打开文件. 1.文件安全性 ...

最新文章

  1. mvc模型中MySQL类_Mvc5 EF6 CodeFirst Mysql (二) 修改数据模型
  2. 如何获取iOS设备的IP地址
  3. LtScrollImageView:自动滚动的广告图片展示栏
  4. 3.1 Adapter(适配器)
  5. HDU 5646 DZY Loves Partition
  6. java 并发编程多线程_多线程(一)java并发编程基础知识
  7. 解决ipfs 出现Error: can‘t publish while offline: pass `--allow-offline` to override的问题
  8. 历史首次!中国联通、中国电信组队了,只为达成这个目的
  9. 点评2009年PHP十大图书(2)
  10. 一道简单的但是经典的动态规划题目
  11. android 刷机时缺少驱动无法识别
  12. Windows映射网络驱动器
  13. 用户生命周期分析全攻略
  14. 检错纠错码(奇偶校验码 CRC循环冗余校验码 海明码)
  15. iOS 不能播放远程视频(Android 可以)的问题
  16. 动图解析:22张电气元件原理动图
  17. 我们项目中的VO、DTO、DO、PO有什么区别,你用对了吗?
  18. 两个单位方向矢量夹角的余弦值推导过程【遥感散射角余弦】
  19. python meizitu
  20. Linux下的clk学习

热门文章

  1. 文本转换器(txteasy!) v1.5.5 官方
  2. 高手必备 | Revit插件到底哪个好?区别是什么?
  3. 为什么黑洞远程控制的屏幕传输比Radmin快
  4. 2021美业趋势:包装刺激消费、家用美容仪受追捧、内外兼修的美容时代
  5. 什么是i人,mbti中的i型人格是怎么样的
  6. 百面机器学习 之 逻辑回归
  7. vue.js和vue.main.js下载地址
  8. 网上书城|基于PHP实现网上书店商城藉项目
  9. Linux用户登录和注销
  10. 【论文翻译】转移学习推断跨异构网络的社会联系