读取docx表格中的信息
参考了 http://blog.csdn.net/qq_34475777/article/details/62055523 http://www.cnblogs.com/deepwaterplan/articles/6664796.html conda安装 pip install python_docx 否则from docx import Document找不到Document
#coding:utf-8 import os
import win32com
from win32com.client import Dispatch, constants
from docx import Document def parse_docx(f):
d = Document(f)
t0 = d.tables[0]
# t1 = d.tables[1]
# t2 = d.tables[2]
# t_next=d.tables[1]
#title= t.cell(0,1).text//比如说标题在表格中位于(0,1)
name = t0.cell(1,1).text
print name if __name__ == "__main__":
w = win32com.client.Dispatch('Word.Application')
parse_docx('E:\\2.docx') 有个问题:想直接读取doc 没法实现 只好把doc转成docx再读取(http://www.cnblogs.com/hanxing/p/7018617.html) doc可以直接读取了 可是结果并如docx读取的好还是用docx的方法好一些
# -*- coding: utf-8 -*-
import win32com,re
from win32com.client import Dispatch,constants word = win32com.client.Dispatch('word.application')
doc = word.Documents.Open('E:\\final.doc') t=doc.Tables[0]
print(type(t))
tt = str(t)
strs=tt.split('')
print(strs[5])
print strs doc.Close()
word.Quit()
结果:
<type 'instance'>
11
['00\r', '01\r', '02\r', '\r', '10\r', '11\r', '12\r', '\r', '20\r', '21\r', '22\r', '\r', '\r', '\r', '\r', '\r', '\r', '\r', '\r', '\r', '']
上面的结果不好判断 还是用docx读取更好一些
下面是读取docx的一个表格的值(doc转docx) 然后替换另外一个模板文件(doc)中的标签的值(biaoqian)最后另存成final
#coding:utf-8
import win32com
from win32com.client import Dispatch
from docx import Document def parse_docx(f):
d = Document(f)
t0 = d.tables[0]
name = t0.cell(1, 1).text
return name if __name__ == "__main__":
w = win32com.client.Dispatch('Word.Application')
va = parse_docx('E:\\1.docx')
filename2 = "E:\\2.doc"
doc = w.Documents.Open(FileName=filename2)
w.Selection.Find.ClearFormatting()
w.Selection.Find.Replacement.ClearFormatting()
w.Selection.Find.Execute("biqoqian", False, False, False, False, False, True, 1, True, va, 2)
doc.SaveAs ('E:\\' + str ("final") + '.doc') # 另存成另一个表
doc.Close ()
读取docx表格中的信息的更多相关文章
- 读取Excel表格中数据原型
写下这篇博客来记录自己的工作,这部分功能是读取Excel表格中的数据,并通过c#中的datagridview控件将读取的数据显示出来.为了方便用户,我设计了一个read按钮,用户点击这个按钮,会弹出打 ...
- 利用java反射机制实现读取excel表格中的数据
如果直接把excel表格中的数据导入数据库,首先应该将excel中的数据读取出来. 为了实现代码重用,所以使用了Object,而最终的结果是要获取一个list如List<User>.Lis ...
- Java 读取Word表格中的文本和图片
本文通过Java程序来展示如何读取Word表格,包括读取表格中的文本和图片.下面是具体实现的步骤和方法. 1. 程序环境准备 代码编译工具:IntelliJ IDEA Jdk版本:1.8.0 测试文档 ...
- C#读取Excel表格中数据并返回datatable
在软件开发的过程中,经常用到从excel表格中读取数据作为数据源,以下整理了一个有效的读取excel表格的方法. DataTable GetDataTable(string tableName,str ...
- python读取excel表格中的数据
使用python语言实现Excel 表格中的数据读取,需要用到xlrd.py模块,实现程序如下: import xlrd #导入xlrd模块 class ExcelData(): def __init ...
- java读取Excel表格中的数据
1.需求 用java代码读取hello.xls表格中的数据 2.hello.xls表格 3.java代码 package com.test; import java.io.File; import j ...
- php 读取excel表格中的内容
<?php /** * excel表格内容在网页中显示 * * 首先需要下载PHPExcel 工具包 * 网址: http://phpexcel.codeplex.com/releases/vi ...
- java用poi读取Excel表格中的数据
Java读写Excel的包是Apache POI(项目地址:http://poi.apache.org/),因此需要先获取POI的jar包,本实验使用的是POI 3.9稳定版.Apache POI 代 ...
- Unity 3D读取Excel表格、导入信息、导出Json
Unity 3D读取/导入Excel表格 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar ...
随机推荐
- 事件类型-UI事件、焦点事件
DOM3级事件包括以下几类事件: UI事件:当用户与页面上的元素交互时触发 焦点事件:当元素获得或失去焦点时触发 鼠标事件:当用户通过鼠标在页面上执行操作时触发 滚轮事件:当使用鼠标滚轮时触发 文本事 ...
- Codeforces1303E. Erase Subsequences
转换一下题意,就相当于问t能不能和s中2个不相同的子串相同,我们可以将t串拆成2个子串t1,t2,得到状态dp[i][j][k]=0/1,表示s判断到i位,t1判断到j位,t2判断到k位,0/1表示是 ...
- 服务端OLEVARIANT数据之后传输
将OLEVARIANT数据流化,然后对流进行压缩,还原成OLEVARIANT以后再发送. procedure StreamToVariant(Stream: TStream; var V: OLEVa ...
- 吴裕雄--天生自然python机器学习实战:K-NN算法约会网站好友喜好预测以及手写数字预测分类实验
实验设备与软件环境 硬件环境:内存ddr3 4G及以上的x86架构主机一部 系统环境:windows 软件环境:Anaconda2(64位),python3.5,jupyter 内核版本:window ...
- CSS去掉背景颜色
background-color:transparent;
- ionic3记录之弹窗Alert
一个业务流程需要多个弹窗: 在上一个弹窗的onDidDissmiss写下一个弹窗:
- centos7-django(python3)环境搭建
最小化安装centos7 安装epel-release 安装python34 安装pip3 通过pip3安装django 坑 epel(extra package for enterprise lin ...
- boost::thread demo
#include <iostream> #include <boost/date_time/gregorian/gregorian.hpp> #include <boos ...
- struts的错误回显
- 「牛客CSP-S2019赛前集训营1」仓鼠的石子游戏
传送门 NowCoder 解题思路 考虑这样一件事:在任何的同一个石圈,后手肯定会输. 证明很简单,手玩一下就可以大致意会. 但是有一种特殊情况,就是大小为1的圈,这种圈就是起到一次交换先后手的作用, ...