python怎么调用word?

图片[1]-python怎么调用word?-uusu优素-乐高,模型,3d打印,编程

使用python操作word

有两种方式:

1.使用win32com扩展包

只对windows平台有效

代码:

#coding=utf-8
importwin32com
fromwin32com.clientimportDispatch,DispatchEx
word=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.text
print'-------------------------'
#直接遍历段落
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-8
importdocx
doc=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=3
foriinrange(data_lines):
cells=table.add_row().cells
cells[0].text='Name%s'%i
cells[1].text='Id%s'%i
cells[2].text='Desc%s'%i
rows=2
cols=4
table=doc.add_table(rows=rows,cols=cols)
val=1
foriinrange(rows):
cells=table.rows[i].cells
forjinrange(cols):
cells[j].text=str(val*10)
val+=1
doc.save('tmp.docx')
#coding=utf-8importdocx
doc=docx.Document('tmp.docx')fortableindoc.tables:#遍历所有表格
print'----table------'
forrowintable.rows:#遍历表格的所有行
#row_str='\t'.join([cell.textforcellinrow.cells])#一行数据
#printrow_str
forcellinrow.cells:
printcell.text,'\t',
print
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容