这篇文章主要介绍python调用word的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

使用python操作word

有两种方式:

1.使用win32com扩展包

只对windows平台有效

代码:

#coding=utf-8importwin32comfromwin32com.clientimportDispatch,DispatchExword=Dispatch('Word.Application')#打开word应用程序#word=DispatchEx('Word.Application')#启动独立的进程word.Visible=0#后台运行,不显示word.DisplayAlerts=0#不警告path='G:/WorkSpace/Python/tmp/test.docx'#word文件路径doc=word.Documents.Open(FileName=path,Encoding='gbk')#content=doc.Range(doc.Content.Start,doc.Content.End)#content=doc.Range()print'----------------'print'段落数:',doc.Paragraphs.count#利用下标遍历段落foriinrange(len(doc.Paragraphs)):para=doc.Paragraphs[i]printpara.Range.textprint'-------------------------'#直接遍历段落forparaindoc.paragraphs:printpara.Range.text#printpara#只能用于文档内容全英文的情况doc.Close()#关闭word文档#word.Quit#关闭word程序

2.使用docx扩展包

优点:不依赖操作系统,跨平台

安装:

pipinstallpython-docx

代码:

importdocxdefread_docx(file_name):doc=docx.Document(file_name)content='\n'.join([para.textforparaindoc.paragraphs])returncontent

创建表格

#coding=utf-8importdocxdoc=docx.Document()table=doc.add_table(rows=1,cols=3,style='TableGrid')#创建带边框的表格hdr_cells=table.rows[0].cells#获取第0行所有所有单元格hdr_cells[0].text='Name'hdr_cells[1].text='Id'hdr_cells[2].text='Desc'#添加三行数据data_lines=3foriinrange(data_lines):cells=table.add_row().cellscells[0].text='Name%s'%icells[1].text='Id%s'%icells[2].text='Desc%s'%irows=2cols=4table=doc.add_table(rows=rows,cols=cols)val=1foriinrange(rows):cells=table.rows[i].cellsforjinrange(cols):cells[j].text=str(val*10)val+=1doc.save('tmp.docx')

读取表格

#coding=utf-8importdocxdoc=docx.Document('tmp.docx')fortableindoc.tables:#遍历所有表格print'----table------'forrowintable.rows:#遍历表格的所有行#row_str='\t'.join([cell.textforcellinrow.cells])#一行数据#printrow_strforcellinrow.cells:printcell.text,'\t',print

以上是python调用word的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!