最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python怎么调用word?

    正文概述    2020-05-13   384

    python怎么调用word?

    使用python操作word

    有两种方式:

    1.使用win32com扩展包

    只对windows平台有效

    代码:

    # coding=utf-8
    import win32com
    from win32com.client import Dispatch, 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
    # 利用下标遍历段落
    for i in range(len(doc.Paragraphs)):
        para = doc.Paragraphs[i]
        print para.Range.text
    print '-------------------------'
    # 直接遍历段落
    for para in doc.paragraphs:
        print para.Range.text
        # print para  #只能用于文档内容全英文的情况
    doc.Close()  # 关闭word文档
    # word.Quit  #关闭word程序

    2.使用docx扩展包

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

    安装:

    pip install python-docx

    代码:

    import docxdef read_docx(file_name):
        doc = docx.Document(file_name)
        content = '\n'.join([para.text for para in doc.paragraphs])  
        return content

    创建表格

    # coding=utf-8
    import docx
    doc = docx.Document()
    table = doc.add_table(rows=1, cols=3, style='Table Grid') #创建带边框的表格
    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
    for i in range(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
    for i in range(rows):
        cells = table.rows[i].cells
        for j in range(cols):
            cells[j].text = str(val * 10)
            val += 1
    doc.save('tmp.docx')

    读取表格

    # coding=utf-8import docx
    doc = docx.Document('tmp.docx')for table in doc.tables:  # 遍历所有表格
        print '----table------'
        for row in table.rows:  # 遍历表格的所有行
            # row_str = '\t'.join([cell.text for cell in row.cells])  # 一行数据
            # print row_str
            for cell in row.cells:         
               print cell.text, '\t',        
            print

    起源地下载网 » python怎么调用word?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元