[关闭]
@zhangyu756897669 2017-10-01T14:50:43.000000Z 字数 1691 阅读 583

用python处理World文档

python官方文档


写入world文档

  1. import docx
  2. doc = docx.Document()
  3. doc.add_paragraph('Hello world!')
  4. doc.save('helloworld.docx')

要创建自己的.docx文件,请调用docx.Document()返回一个新的空白Word文档对象。 add_paragraph()文档方法向文档添加新的文本段落,并返回对添加的Paragraph对象的引用。完成添加文本后,将文件名字符串传递给save()文档方法以将Document对象保存到文件。

这将在当前工作目录中创建一个名为helloworld.docx的文件,当打开它时,如图13-8所示。

您可以通过使用新段落的文本再次调用add_paragraph()方法来添加段落。或者将文本添加到现有段落的末尾,您可以调用段落的add_run()方法并传递一个字符串。

  1. import docx
  2. doc = docx.Document()
  3. doc.add_paragraph('Hello world!')

  1. paraObj1 = doc.add_paragraph('This is a second paragraph.')
  2. paraObj2 = doc.add_paragraph('This is a yet another paragraph.')
  3. paraObj1.add_run(' This text is being added to the second paragraph.')

  1. doc.save('multipleParagraphs.docx')

生成的文档将如图13-9所示。请注意文本本文正在添加到第二段。被添加到paraObj1中的Paragraph对象中,这是文档中添加的第二个段落。 add_paragraph()和add_run()函数分别返回段落和运行对象,以节省您单独提取它们的麻烦。

请记住,从Python-Docx版本0.5.3开始,新的Paragraph对象只能添加到文档的末尾,新的Run对象只能添加到Paragraph对象的末尾。

可以再次调用save()方法来保存您所做的其他更改。

add_paragraph()和add_run()都接受一个可选的第二个参数,它是Paragraph或Run对象的样式的字符串。例如:

  1. doc.add_paragraph('Hello world!', 'Title')

添加标题

调用add_heading()添加一个带有一个标题样式的段落。

  1. doc = docx.Document()
  2. doc.add_heading('Header 0', 0)

  1. doc.add_heading('Header 1', 1)

  1. doc.add_heading('Header 2', 2)

  1. doc.add_heading('Header 3', 3)

  1. doc.add_heading('Header 4', 4)

  1. doc.save('headings.docx')

add_heading()的参数是标题文本的字符串,从0到4的整数。整数0使标题为标题样式,用于文档顶部。整数1至4用于各种标题级别,其中1个为主标题,4个为最小子标题。 add_heading()函数返回一个Paragraph对象,以保存您作为单独步骤从Document对象提取它的步骤。

添加图片

文档对象具有一个add_picture()方法,可以将图像添加到文档的末尾。假设你有一个文件zophie.png在当前的工作目录。您可以将zophie.png添加到文档的末尾,宽度为1英寸,高度为4厘米(Word可以使用英制和公制单位),方法是输入以下内容:

  1. doc.add_picture('wallhaven-11787.jpg', width=docx.shared.Inches(1),
  2. height=docx.shared.Cm(4))

您可能更喜欢以熟悉的单位(例如英寸和厘米)指定图像的高度和宽度,因此您可以在指定宽度时使用docx.shared.Inches()和docx.shared.Cm()函数, height关键字参数。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注