精华内容
下载资源
问答
  • Python学习笔记(28)-Python读取word文本

    万次阅读 多人点赞 2017-07-17 11:36:17
    也就是说python-docx模块会把word文档,文档中的段落、文本、字体等都看做对象,对对象进行处理就是对word文档的内容处理。二,相关概念如果需要读取word文档中的文字(一般来说,程序也只需要认识word文档中的文字...

    点此查看全部文字教程、视频教程、源代码

    1. 简介

    Python可以利用python-docx模块处理word文档,处理方式是面向对象的。也就是说python-docx模块会把word文档,文档中的段落、文本、字体等都看做对象,对对象进行处理就是对word文档的内容处理。

    2. 相关概念

    如果需要读取word文档中的文字(一般来说,程序也只需要认识word文档中的文字信息),需要先了解python-docx模块的几个概念。

    1,Document对象,表示一个word文档。
    2,Paragraph对象,表示word文档中的一个段落
    3,Paragraph对象的text属性,表示段落中的文本内容。
    

    3. 模块的安装和导入

    需要注意,python-docx模块安装需要在cmd命令行中输入pip install python-docx,如下图表示安装成功(最后那句英文Successfully installed,成功地安装完成,十分考验英文水平。)

    这里写图片描述

    注意在导入模块时,用的是import docx

    也真是奇了怪了,怎么安装和导入模块时,很多都不用一个名字,看来是很有必要出一个python版本的模块管理程序python-maven了,本段纯属PS。

    4. 读取word文本

    在了解了上面的信息之后,就很简单了,下面先创建一个D:\temp\word.docx文件,并在其中输入如下内容。

    这里写图片描述

    然后写一段程序,代码及输出结果如下:

    #读取docx中的文本代码示例
    import docx
    #获取文档对象
    file=docx.Document("D:\\temp\\word.docx")
    print("段落数:"+str(len(file.paragraphs)))#段落数为13,每个回车隔离一段
    
    #输出每一段的内容
    for para in file.paragraphs:
        print(para.text)
    
    #输出段落编号及段落内容
    for i in range(len(file.paragraphs)):
        print("第"+str(i)+"段的内容是:"+file.paragraphs[i].text)
    

    运行结果:

    ================ RESTART: F:/360data/重要数据/桌面/学习笔记/readWord.py ================
    段落数:13
    啊
    
    我看见一座山
    
    雄伟的大山
    
    真高啊
    
    啊
    
    这座山是!
    
    真的很高!
    第0段的内容是:啊
    第1段的内容是:
    第2段的内容是:我看见一座山
    第3段的内容是:
    第4段的内容是:雄伟的大山
    第5段的内容是:
    第6段的内容是:真高啊
    第7段的内容是:
    第8段的内容是:啊
    第9段的内容是:
    第10段的内容是:这座山是!
    第11段的内容是:
    第12段的内容是:真的很高!
    >>> 
    
    展开全文
  • Word智能文档中对象文本
  • 代码调用word模板,替换模板中的文本,以及表格对象
  • 1,打开一个doc文档; 2,代码编写: 变量定义 .版本 2 .局部变量 wdapp, 对象 .局部变量 What, 变体型 .... .... .... ....' doc文档中按行定位并写入文本 wdapp.获取(“word.application”) '...

    1,打开一个doc文档;

    2,代码编写:

    变量定义

    .版本 2

    .局部变量 wdapp, 对象
    .局部变量 What, 变体型
    .局部变量 Which, 变体型
    .局部变量 Count, 变体型
    .局部变量 Name, 变体型

    .版本 2

    ' doc文档中按行定位并写入文本

    wdapp.获取(“word.application”)  ' 加载已经打开的doc文档

    What.赋值 (3, )  '按行定位
    Which.赋值 (1, ) 
    Count.赋值 (3, )  ' 整数,本例中定位到第3行
    Name.赋值 (“”, )
    wdapp.读对象型属性 (“Selection”, ).方法 (“GoTo”, What, Which, Count, Name)  ' 定位到doc文档中的第3行,光标插入点移到行首
    wdapp.读对象型属性 (“Selection”, ).对象型方法 (“TypeText”, “我是定位行位置写word行文本”)

    wdapp.清除 ()  ' 释放变量

    如果对使用对象的属性和方法不清楚用法,可使用' wdapp.读对象型属性 (“Selection”, ).查看 ()

     

     

    展开全文
  • 本文研究的主要问题时Python读取word文本操作,分享了相关概念和实现代码,具体如下。 一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的。也就是说python-docx模块会把word文档,文档...
  • 本文主要介绍利用C#读取和写入Word内容的一般方法。 一、创建工程。 1.1 引入控制台Control  我们创建一个名叫WordTest的Windows窗体应用程序作为本次试验的工程,为了能够显示word中的内容,我们先要在下图所示的...
            本文主要介绍利用C#读取和写入Word内容的一般方法。
    

    一、创建工程。

    1.1 引入控制台Control

            我们创建一个名叫WordTest的Windows窗体应用程序作为本次试验的工程,为了能够显示word中的内容,我们先要在下图所示的Program.cs的main()函数中引入控制台Console来显示读取到内容。



     

    Program.cs的代码:

    namespace WordTest
    {
    static class Program
    {
    [DllImport("kernel32.dll")]
    public static extern Boolean AllocConsole();
    
    [DllImport("kernel32.dll")]
    public static extern Boolean FreeConsole(); 
    /// <summary>
    /// 应®|用®?程¨¬序¨°的Ì?主¡Â入¨?口¨²点Ì?。¡ê
    /// </summary>
    [STAThread]
    static void Main()
    {
    AllocConsole(); 
    Console.OutputEncoding = System.Text.Encoding.Default;
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new Form1());
    FreeConsole(); 
    }
    }
    
    }

    第11行和第14行分别导入kernel32.dll中的初始化控制台函数AllocConsole()和释放控制台的函数FreeConsole()。
    第22行和27行分别初始化和释放控制台。

    第23行是设置控制台的输出编码为本地操作系统额默认编码,否则在英文系统中可能输出中文为乱码。


    1.2 创建测试按钮

            在窗口上添加一个按钮,并把按钮名称命名为”测试”,创建按钮的点击事件处理函数,我们在这个函数中进行word内容的读取。



            Form1.cs文件中的按钮事件处理函数:
    private void button1_Click(object sender, EventArgs e)
    {
    
    }
    

    二、创建Word试验文档

            在D盘建立一个Word文档,名称就叫做test.docx,并在文档中输入以下内容:



    三、进行word的读写

    3.1 创建Application对象

            我们需要在button1_Click()函数中添加一个Application对象,添加方法如下:
    Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();

            我们创建的app对象就代表了整个的Word的进程,我们可以利用app对象进行word的进程的开启和关闭。我们可以先查看下目前Word的版本信息,在控制台中打印出来:
    private void button1_Click(object sender, EventArgs e)
    {
    Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
    string version = app.Version;
    Console.WriteLine(version);
    app.Quit();
    app = null;
    }
    第3行创建了一个Application对象。
    第4、5行获取app对象的Version属性,然后在控制台中打印。
    第6、7行退出该进程。

    运行结果如下,成功打印了我电脑上Word的版本号,我装的office是2007版的,版本号为12.0。



    3.2 获取文档对象

    Document doc = app.Documents.Open("D:\\Test.docx");

            Application的Documents属性是一个存放Document对象容器,利于Documents的Open方法可以打开Word文件。打开后,文件中的所有文档都被存放到Documents中,open函数返回当前的ActiveDucument,也就是鼠标所在的文档对象。

    3.3 获取Range对象进行读写

    3.3.1 利用Range进行读操作

            可以通过doc对象的Range()方法获取Range对象,如果Range()不传入实参,则表示获取整个Document范围的Range:
        Range range = doc.Range();
            利用Console打印出来就是:
        Console.WriteLine(range.Text.ToString());



            如果range设置一个取值范围,比如只获取前两个字符:
        Range range = doc.Range(0,2);
            利用Console打印出来就是:
        Console.WriteLine(range.Text.ToString());



    3.3.2 利用Range进行写操作

            接下来,我们可以直接操作Range对象进行Word文档的写操作,例如我想把目前word中的文字“我是一个测试文档。。”改成“我是一个新的测试文档。。”。实现的思路是获取其实位置为4,结束位置为10的Range对象,然后直接在range对上修改。
    range = doc.Range(4, 10);
    range.Text = "新的测试文档";
    doc.Save();
    第一行,获取了一个范围为5~10的Range对象。
    第二行,利用Range对象进行写操作
    第三行,将doc保存
            最终的效果如下:

    整个工程的代码如下:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using Microsoft.Office.Interop.Word;
    
    
    namespace WordTest
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    
    private void button1_Click(object sender, EventArgs e)
    {
    Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
    string version = app.Version;
    Console.WriteLine(version);
    Document doc = app.Documents.Open("D:\\Test.docx");
    doc.ActiveWindow.Visible = true;
    Range range = doc.Range();
    Console.WriteLine(range.Text.ToString());
    range = doc.Range(4, 10);
    range.Text = "新?的Ì?测a试º?文?档̦Ì。¡ê。¡ê";
    doc.Save();
    app.Quit();
    app = null;
    }
    }
    }


    Github位置:

    https://github.com/HymanLiuTS/OfficeTestByC-

    克隆本项目:

    git clone git@github.com:HymanLiuTS/OfficeTestByC-.git

    获取本文源代码:

    git checkout L03


    展开全文
  • 1,打开一个doc文档; 2,代码编写: 变量定义 .... .局部变量 wdapp, 对象 ... .... .... ....' doc文档中精确定位表格单元格中并写入文本 wdapp.获取(“word.application”) ' 加载已经打开的d...

    1,打开一个doc文档;

    2,代码编写:

    变量定义

    .版本 2

    .局部变量 wdapp, 对象

    .局部变量 tblIndex, 整数型
    .局部变量 row, 整数型
    .局部变量 column, 整数型

    .版本 2

    ' doc文档中精确定位表格单元格中并写入文本

    wdapp.获取(“word.application”)  ' 加载已经打开的doc文档

    tblIndex = 1'第一个表格
    row = 3
    column = 3
    wdapp.读对象型属性 (“ActiveDocument”, ).读对象型属性 (“Tables”, ).对象型方法 (“Item”, tblIndex).对象型方法 (“Cell”, row, column).对象型方法 (“select”, )'定位到第一个表格的第三行第三列的单元格中
    wdapp.读对象型属性 (“Selection”, ).对象型方法 (“TypeText”, “定位1”)'在单元格中输入文本

    wdapp.清除 ()  ' 释放变量

     

    展开全文
  • 而对于 Word 文本时同样也有对应的 Python库 Python-docx,在日常办公中,如果需要处理多个 word 文本,且操作步骤都是重复单调的,我想这个库就可以帮到你 在了解 Python-docx 常用函数之前,需要知道 在 Python-...
  • 本文主要介绍修改文本的格式的方法。按照上文介绍的方法,现在将D盘的Test.docx文档进行修改,修改成如下内容:  在“测试”按钮的单击事件处理函数中,获取对应的Range: private void button1_Click(object ...
  • java获取word里面的文本

    千次阅读 2018-05-10 09:33:11
    需求场景 开发的web办公系统如果需要处理大量的Word文档(比如有成千上万个文档),用户一定提出查找包含某些关键字的文档的需求,这就要求能够读取 word 中的文字内容,而忽略其中的文字样式、表格、图片等信息。...
  • java poi 替换word文本

    千次阅读 2018-01-16 15:58:09
    实例下载:... public static void main(String[] args) { String filepathString = "e:/1.docx"; String destpathString = "e:/2.docx"; Map map = new HashMa
  • C#操作word,替换文本

    千次阅读 2019-07-16 11:28:38
    /// <summary>... /// 查找替换文本 /// </summary> /// <param name="filePath">文件路径</param> /// <param name="strOld">查找文本</param> /// &l...
  • 使用poi动态替换word指定文本内容

    千次阅读 2015-07-31 12:22:23
    这两天项目需要用到动态...问题:指定文本被解析成了多个XWFPRun对象,比如${userName}被解析成了“${” + "userN" + "ame}" 导致想要替换的文本死活替换不了 分析:XWFPRun在word里代表具有相同属性的一段文本,所以
  • Java 提取Word中的文本和图片

    千次阅读 2019-05-08 16:59:38
    本文将介绍通过Java来提取或读取Word文档中文本和图片的方法。这里提取文本和图片包括同时提取文档正文当中以及页眉、页脚中的的文本和图片。 使用工具:Spire.Doc for Java v2.2.0 Jar文件导入方法: 方法1:从...
  • Vim 文本对象指南 (1)

    千次阅读 2017-06-25 08:08:02
    本文还是介绍一些基本内容, 关于插件使用, 可以查看完整配置 space-... 在你刚开始使用 Vim 的时候做过什么令你 “难忘” 的事情? 答: 使用 j 跳转到 5000 行 :). 也就是说, 要掌握词 (word), 句子 (sentense), 段落
  • Word组件对象模型

    千次阅读 2014-10-10 11:25:15
    Word组件对象模型  Microsoft Office Word 2003 对象是按层次顺序排列的,层次结构顶端的两个主类是 Application 类和 Document 类。这两个类非常重要,因为在大部分时间里,您要么是在使用 Word 应用程序本身...
  • excel操作word,替换文本

    千次阅读 2019-09-12 11:52:43
    2.利用word vba查找替换功能替换word文本中文字。 '打开模板文件 Set objApp = CreateObject("Word.Application") objApp.Visible = True Set objDoc = objApp.Documents.Open(strTemplates, , ...
  • VIM文本对象---非常有用

    千次阅读 2012-09-19 01:47:09
    使用Vim一段时间后发现Vim的文本对象很好用,而很多刚使用Vim的同学还不知道这个东西,现在系统的总结一下Vim的文本对象,一则自己备忘,二则不知道...1.文本对象什么 顾名思义,文本对象就是符合某一标准的在某两
  • Jacob替换word中指定文本

    千次阅读 2013-03-31 11:57:11
    public class JacobWord { private boolean saveOnExit; //word文档 Dispatch doc = null; //word运行程序对象 static ActiveXComponent word; //所有word文档
  • 快速上手之 C#操作WORD对象模型

    千次阅读 热门讨论 2015-08-10 10:10:09
    想当年省计算机一级考了60飘过,暗自窃喜。 如今要考虑它是怎么给我判了个60分。 当年不会做Excel题,OUTLOOK题,IE题。 如今要搞清楚它判分的逻辑是什么。 两年如此大的差距,晕晕的开始没有...什么是WORD对象模型?
  • 对象纯源码实现word的操作,纯绿色,无公害. 关于 易语言 操作word读写或者向word中插入图片的实现,经大量搜索贴子,发现基本思路是明白了(用com对象操作),但是例子代码太少,同时有的代码写法不够严谨或者使用模块等,...
  • C# 为 Word 文档添加文本和图片水印

    千次阅读 2017-12-18 14:39:20
    word水印指的是在原word文档中添加...本文将详细描述如何使用Spire.Doc为Word文档添加图片水印或文本水印。 添加图片水印 //新建一个word文档对象并加载需要添加水印的word文档 Document document = new Document
  • 对象纯源码实现word的操作,纯绿色,无公害. 关于易语言操作word读写或者向word中插入图片的实现,经大量搜索贴子,发现基本思路是明白了(用com对象操作),但是例子代码太少,同时有的代码写法不够严谨或者使用模块等,...
  • 用C#实现在Word文档中搜索文本

    千次阅读 2007-03-22 00:18:00
    word应用程序中搜索和替换文本是举手之劳的事情,通过word对象模型,我们也可以使用编程方式来实现。 Word对象模型有比较详细的帮助文档,放在office安装程序目录,office 2003是在Program Files/Microsoft...
  • python读取word中的文本内容

    万次阅读 2018-04-08 11:04:56
    Python可以利用python-docx模块处理word文档,处理方式是面向对象的。安装 :在cmd命令行中输入 pip install python-docx 最后提示Successfully installed,表示成功地安装完成代码:# encoding=utf-8 import docx ...
  • C# 在word中查找及替换文本

    千次阅读 2015-12-08 13:52:40
    尤其是在处理庞大的word文档的时候,Microsoft word的查找替换功能就变得尤为重要,它不仅能让我们轻易地查找到整篇文章里的某些文字、词语或者句子,还可以选择替换搜索到的这些文本。这些在Microsoft word中都很...
  •  //插入指定的文本  //Fields.Add 方法  //将 Field 对象添加到 Fields 集合  代码示例: function ADDReport() { try { var ActiveDocument = form1.TANGER_OCX.ActiveDocument; ...
  • word对象模型概述

    千次阅读 2012-10-02 16:20:50
    Word 对象模型概述 更新:2007 年 11 月 适用对象 本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。 项目类型 文档级项目 ...
  • C#操作Word (1)Word对象模型

    万次阅读 多人点赞 2012-03-29 14:09:35
    Word对象模型 (.Net Perspective) 本文主要针对在Visual Studio中使用C# 开发关于Word的应用程序 来源:Understandingthe Word Object Model from a .NET Developer's Perspective 五大对象 Application :...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 101,590
精华内容 40,636
关键字:

word非文本对象是什么