读取docx表格中的信息
2024-09-02 00:19:14
参考了 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 ()
最新文章
- Java的基本数据类型与转换
- 虚拟机安装windows服务出现无法打开内核设备“\\.Global\vmx86”
- linux中mysql运程连接时错误host ‘192.168.0.1’ is not allowed to connect to this MySql server
- 1220 - Mysterious Bacteria--LightOj1220 (gcd)
- Focus
- 轻松搞定C语言中复杂的声明
- 问题-提示“adodataset.command”
- 去掉ILDasm的SuppressIldasmAttribute限制
- 百度tn劫持解决办法
- mui 卡片视图 遮罩蒙版
- 〖Linux〗Ubuntu设定Proxy及忽略Proxy
- C#复制文件
- Uva821 Page Hopping (Floyd)
- 《Linux内核设计与实现》第18章读书笔记
- [失败]SystemTap和火焰图(Flame Graph)
- 可以用来求急的开源项目es5-shim
- CentOS测网速
- css hack 和问题
- H5/
- if else 和 switch的效率
热门文章
- Codeforces Round #620 (Div. 2) 题解
- [Write-up]-pwnlab_init
- LibreOJ #6008. 「网络流 24 题」餐巾计划
- python的init函数里参数的作用
- docker-构建建tomcat镜像并启动容器
- Jquery - ajax url路径问题
- IP、TCP、DNS
- luogu P4129 [SHOI2006]仙人掌
- IOS导航器 + 表控制器 常用功能函数/属性
- jmeter学习笔记---循环控制器计数器函数助手