zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然python学习笔记:python处理word文档

    Office 文件是我们日常工作生活中都经常用到的文件格
    式,其中以 Word 格式的文件最为常用 。
    Python 可通过 Win32com 纽件对 Micro so位 Office 文件
    进行存取,并且 Python 己内直了 Win32com 纽件,不需要
    另外安装。 使用 Win32com 纽件处理 Microsoft Office 文件,
    计算机必须己安装 Microso企 Office 。
    实现新建文件并保存
    下面我们导入 Win32com 组件
    的 client 模块:

    处理 Word 文件需先建立 Word 应用 。 语法为 :

     

    新建文件
    Win32com 组件新建文件通过 Documents 的 Add 方法来实现,语法为:

    例如,新建文件的变量名称为 doc:

    文件内容的位置可通过文件变量的 Range 方法设置,语法为:

    起始位置及结束位置为整数,表示字符的数目 。 例如,把文件前 10 个字符保存
    至 rangel 变量 :

    向 Word 文件中插入文本可通过两种方法来实现。一种方法是 InsertA丘巳r ,此方
    法把文字插入到范围变量结束位置之后,插入后位置变量的结束位置的值为改变,
    语法为:

    另一种方法是 InsertBefore ,此方法是将文字插入到范围变量起始位置的前面,
    语法为 :

    使用 ln sertBefore 方法插入文本后不会改变范围变量的位置起始值,再次使用
    InsertBefore 方法时,还是会把文字插入到变量的最初起始位置值之前。
    保存文件
    由于 Win32com 组件存取文件时不
    能使用相对路径,所以必须先取得 Python 程序文件所在路径,语法为 :

    保存 Word 文件的语法为 :

    例如,把文件保存在 media 文件夹中,文件名为 testl.docx : 

    处理完 Word 文件,通常会在程序最后关闭 Word 文件及应用,以免占用系统资
    源,语法为:

    用 Win32com 组件建立 Word 文件,插入内容后存盘 。
    import os
    from win32com import client
    
    word = client.gencache.EnsureDispatch('Word.Application')
    word.Visible = 1
    word.DisplayAlerts = 0
    doc = word.Documents.Add()
    range1 = doc.Range(0,0)  #文件起始处
    range1.InsertAfter("这是测试第一行
    这是测试第二行
    ")
    range1.InsertAfter("这是测试第三行
    这是测试第四行
    ")
    range1.InsertBefore("第一次插入到文件最前方
    ")
    range1.InsertBefore("再次插入到文件最前方
    ")
    # cpath = os.path.dirname(__file__)
    doc.SaveAs("E:\media\test1.docx")
    doc.Close()
    word.Quit()

     

  • 相关阅读:
    关于Lucas定理、多项式Exp的一些思考
    Binet-Cauchy定理的证明
    CSP2019 树上的数 题解
    Graphviz学习
    Luogu P2221 [HAOI2012]高速公路题解
    CSP2019 树的重心 题解
    CSP2019 Emiya 家今天的饭 题解
    UVA10559 方块消除 Blocks 题解
    关于二次项系数为1的二元一次不定方程解法的探究
    关于对STL容器重载运算符的问题
  • 原文地址:https://www.cnblogs.com/tszr/p/12029612.html
Copyright © 2011-2022 走看看