打开和写入word文档

时间:2022-05-22 06:19:52

一. 使用win32读取word内容

# -*- coding: utf-8 -*-

from win32com import client as wc

def readDocx2():
    word = wc.Dispatch('Word.Application')                                        # 使用WORD应用程序
    word.Visible = 0                                                              # 不打开界面

    my_worddoc = word.Documents.Open(u'新建文本文档.docx')                          # 打开word文档
    paragraphs = my_worddoc.Paragraphs.Count                                      # 计算段落数
    for i in range(paragraphs):
        my_pr = my_worddoc.Paragraphs[i].Range                                    # 读取每段并打印
        print my_pr.text                                                      
    my_worddoc.Close()
readDocx2()

 

二.使用模块docx读取word内容

# -*- coding: utf-8 -*-import docx

def read_docx(filename):                             #filename为文件地址
    doc = docx.Document(filename)                    #打开docx文档
    fulltext = []                                    #创建空列表 for para in doc.paragraphs:                      #遍历所有段落的文字内容
        fulltext.append(para.text)                   #将所有文字内容添加到列表fulltext中 return '\n'.join(fulltext)                       #进行分段,返回原文

a = read_docx(u'新建文本文档.docx') 
print a                                              #打印出来

 三.写入word文档

# -*- coding: utf-8 -*-
from
docx import Document from docx.shared import Inches document = Document() document.add_heading('This is a Title', 0) #添加题目 p = document.add_paragraph('This is a paragraph') #添加段落内容 p.add_run('bold').bold = True #设置粗体和格式 p.add_run(' and some ') p.add_run('italic.').italic = True document.add_heading('This is a heading with level1', level=1) #级别为1的小标题 document.add_paragraph('Intense quote', style='IntenseQuote') #添加段落内容 document.add_paragraph( 'first item in unordered list', style='ListBullet' #添加段落内容并设置格式,不带序号 ) document.add_paragraph( 'first item in ordered list', style='ListNumber' #添加段落内容并设置格式,带有序号 )
#设置文本内容
text = ''' aaaa
bbb
ccc
ddd'''
document.add_paragraph(text) #添加大量文本内容... document.add_page_break() document.save('demo.docx') #保存路径...