python如何获取word文件中某个关键字之后的表格

最好是全部都读取到程序中,在程序中进行判断。

本文实例讲述了Python实现批量读取word中表格信息的方法。

分享给大家供大家参考。

具体如下:单位收集了很多word格式的调查表,领导需要收集表单里的信息,我就把所有调查表放一个文件里,写了个python小程序把所需的信息打印出来#coding:utf-8import osimport win32comfrom win32com.client import Dispatch, constantsfrom docx import Documentdef parse_doc(f):"""读取doc,返回姓名和行业"""doc = w.Documents.Open( FileName = f )t = doc.Tables[0] # 根据文件中的图表选择信息name = t.Rows[0].Cells[1].Range.Textsituation = t.Rows[0].Cells[5].Range.Textpeople = t.Rows[1].Cells[1].Range.Texttitle = t.Rows[1].Cells[3].Range.Textprint name, situation, people,titledoc.Close()def parse_docx(f):"""读取docx,返回姓名和行业"""d = Document(f)t = d.tables[0]name = t.cell(0,1).textsituation = t.cell(0,8).textpeople = t.cell(1,2).texttitle = t.cell(1,8).textprint name, situation, people,titleif __name__ == "__main__":w = win32com.client.Dispatch('Word.Application')# 遍历文件PATH = "H:\work\\aaa" # windows文件路径doc_files = os.listdir(PATH)for doc in doc_files:if os.path.splitext(doc)[1] == '.docx':try:parse_docx(PATH+'\\'+doc)except Exception as e:print eelif os.path.splitext(doc)[1] == '.doc':try:parse_doc(PATH+'\\'+doc)except Exception as e:print e希望本文所述对大家的Python程序设计有所帮助。

python操作word文档表格

office 2007中不能直接打开VB编辑器,请按Alt + F11打开。

import win32com.client # 导入脚本模块 WordApp = win32com.client.Dispatch("Word.Application") # 载入WORD模块 WordApp.Visible = True # 显示Word应用程序 1、 新建Word文档 doc = WordApp.Documents.Add() # 新建空文件 doc = WordApp.Documents.Open(r"d:\2011专业考试计划.doc") # 打开指定文档 doc.SaveAs(r"d:\2011专业考试计划.doc") # 文档保存 doc.Close(-1) # 保存后关闭,doc.Close()或doc.Close(0)直接关闭不保存 2、 页面设置 doc.PageSetup.PaperSize = 7 # 纸张大小, A3=6, A4=7 doc.PageSetup.PageWidth = 21*28.35 # 直接设置纸张大小, 使用该设置后PaperSize设置取消 doc.PageSetup.PageHeight = 29.7*28.35 # 直接设置纸张大小 doc.PageSetup.Orientation = 1 # 页面方向, 竖直=0, 水平=1 doc.PageSetup.TopMargin = 3*28.35 # 页边距上=3cm,1cm=28.35pt doc.PageSetup.BottomMargin = 3*28.35 # 页边距下=3cm doc.PageSetup.LeftMargin = 2.5*28.35 # 页边距左=2.5cm doc.PageSetup.RightMargin = 2.5*28.35 # 页边距右=2.5cm doc.PageSetup.TextColumns.SetCount(2) # 设置页面分栏=2 3、 格式设置 sel = WordApp.Selection # 获取Selection对象 sel.InsertBreak(8) # 插入分栏符=8, 分页符=7 sel.Font.Name = "黑体" # 字体 sel.Font.Size = 24 # 字大 sel.Font.Bold = True # 粗体 sel.Font.Italic = True # 斜体 sel.Font.Underline = True # 下划线 sel.ParagraphFormat.LineSpacing = 2*12 # 设置行距,1行=12磅 sel.ParagraphFormat.Alignment = 1 # 段落对齐,0=左对齐,1=居中,2=右对齐 sel.TypeText("XXXX") # 插入文字 sel.TypeParagraph() # 插入空行 注:ParagraphFormat属性必须使用TypeParagraph()之后才能二次生效

python调用com,如何完成word表格操作

word中doc这个格式的文件是微软特有格式,微软没有向外公开任何的api接口文档,只能通过微软提供的OLE组件来提其COM接口,只要你的机器上安装了Offices完整的办公软件,在安装目录下面有个MSWORD.OLB组件,导入这个即可。

1、相关操作Excel有MSPPT.OLB,EXCEL.exe等。

怎么用python读取excel表格的数据

一、读excel表读excel要用到xlrd模块,官网安装(http://pypi.python.org/pypi/xlrd)。

然后就可以跟着里面的例子稍微试一下就知道怎么用了。

大概的流程是这样的:1、导入模块复制代码代码如下:import xlrd2、打开Excel文件读取数据复制代码代码如下:data = xlrd.open_workbook('excel.xls')3、获取一个工作表① table = data.sheets()[0] #通过索引顺序获取② table = data.sheet_by_index(0) #通过索引顺序获取③ table = data.sheet_by_name(u'Sheet1')#通过名称获取4、获取整行和整列的值(返回数组)复制代码代码如下:table.row_values(i)table.col_values(i)5、获取行数和列数 复制代码代码如下:table.nrowstable.ncols6、获取单元格复制代码代码如下:table.cell(0,0).valuetable.cell(2,3).value就我自己使用的时候觉得还是获取cell最有用,这就相当于是给了你一个二维数组,余下你就可以想怎么干就怎么干了。

得益于这个十分好用的库代码很是简洁。

但是还是有若干坑的存在导致话了一定时间探索。

现在列出来供后人参考吧:1、首先就是我的统计是根据姓名统计各个表中的信息的,但是调试发现不同的表中各个名字貌似不能够匹配,开始怀疑过编码问题,不过后来发现是因为 空格。

因为在excel中输入的时候很可能会顺手在一些名字后面加上几个空格或是tab键,这样看起来没什么差别,但是程序处理的时候这就是两个完全 不同的串了。

我的解决方法是给每个获取的字符串都加上strip()处理一下。

效果良好2、还是字符串的匹配,在判断某个单元格中的字符串(中文)是否等于我所给出的的时候发现无法匹配,并且各种unicode也不太奏效,百度过一些解决 方案,但是都比较复杂或是没用。

最后我采用了一个比较变通的方式:直接从excel中获取我想要的值再进行比较,效果是不错就是通用行不太好,个 呢不能问题还没解决。

二、写excel表写excel表要用到xlwt模块,官网下载(http://pypi.python.org/pypi/xlwt)。

大致使用流程如下:1、导入模块复制代码代码如下:import xlwt2、创建workbook(其实就是excel,后来保存一下就行)复制代码代码如下:workbook = xlwt.Workbook(encoding = 'ascii')3、创建表复制代码代码如下:worksheet = workbook.add_sheet('My Worksheet')4、往单元格内写入内容复制代码代码如下:worksheet.write(0, 0, label = 'Row 0, Column 0 Value')5、保存复制代码代码如下:workbook.save('Excel_Workbook.xls')由于我的需求比较简单,所以这上面没遇到什么问题,唯一的就是建议还是用ascii编码,不然可能会有一些诡异的现象。

当然xlwt功能远远不止这些,他甚至可以设置各种样式之类的。

附上一点例子复制代码代码如下:Examples Generating Excel Documents Using Python's xlwtHere are some simple examples using Python's xlwt library to dynamically generate Excel documents.Please note a useful alternative may be ezodf, which allows you to generate ODS (Open Document Spreadsheet) files for LibreOffice / OpenOffice. You can check them out at:http://packages.python.org/ezodf/index.htmlThe Simplest Exampleimport xlwtworkbook = xlwt.Workbook(encoding = 'ascii')worksheet = workbook.add_sheet('My Worksheet')worksheet.write(0, 0, label = 'Row 0, Column 0 Value')workbook.save('Excel_Workbook.xls')Formatting the Contents of a Cellimport xlwtworkbook = xlwt.Workbook(encoding = 'ascii')worksheet = workbook.add_sheet('My Worksheet')font = xlwt.Font() # Create the Fontfont.name = 'Times New Roman'font.bold = Truefont.underline = Truefont.italic = Truestyle = xlwt.XFStyle() # Create the Stylestyle.font = font # Apply the Font to the Styleworksheet.write(0, 0, label = 'Unformatted value')worksheet.write(1, 0, label = 'Formatted value', style) # Apply the Style to the Cellworkbook.save('Excel_Workbook.xls')Attributes of the Font Objectfont.bold = True # May be: True, Falsefont.italic = True # May be: True, Falsefont.struck_out = True # May be: True, Falsefont.underline = xlwt.Font.UNDERLINE_SINGLE # May be: UNDERLINE_NONE, UNDERLINE_SINGLE, UNDERLINE_SINGLE_ACC, UNDERLINE_DOUBLE, UNDERLINE_DOUBLE_ACCfont.escapement = xlwt.Font.ESCAPEMENT_SUPERSCRIPT # May be: ESCAPEMENT_NONE, ESCAPEMENT_SUPERSCRIPT, ESCAPEMENT_SUBSCRIPTfont.family = xlwt.Font.FAMILY_ROMAN # May be: FAMILY_NONE, FAMILY_ROMAN, FAMILY_SWISS, FAMILY_MODERN, FAMILY_SCRIPT, FAMILY_DECORATIVEfont.charset=utf-8.Font.CHARSET_ANSI_LATIN # May be: CHARSET_ANSI_LATIN, CHARSET_SYS_DEFAULT, CHARSET_SYMBOL, CHARSET_APPLE_ROMAN, CHARSET_ANSI_JAP_SHIFT_JIS, CHARSET_ANSI_KOR_HANGUL, CHARSET_ANSI_KOR_JOHAB, CHARSET_ANSI_CHINESE_GBK, CHARSET_ANSI_CHINESE_BIG5, CHARSET_ANSI_GREEK, CHARSET_ANSI_TURKISH, CHARSET_ANSI...

python读取word中合并单元格输出到excel

Python替换某个文本中的字符串,然后生成新的文本文档,代码如下:import osos.chdir('D:\\') # 跳到D盘if not os.path.exists('test1.txt'): # 看一下这个文件是否存在exit(-1) #不存在就退出lines = open('test1.txt').readlines() #打开文件,读入每一行fp = open(''test2.txt','w') #打开你要写得文件test2.txtfor s in lines:# replace是替换,write是写入fp.write( s.replace('love','hate').replace('yes','no')) fp.close() # 关闭文件

python读word表格_python 读word 的表格相关推荐

  1. python 读取 word 表格_python读取word表格

    python调用com,如何完成word表格操作 word中doc这个格式的文件是微软特有格式,微软没有向外公开任何的api接口文档,只能通过微软提供的OLE组件来提其COM接口,只要你的机器上安装了 ...

  2. python 打开word文件_python下载word文件-Python用python-docx读写word文档

    备注: doc是微软的专有的文件格式,docx是Microsoft Office2007之后版本使用,其基于Office Open XML标准的压缩文件格式,比 doc文件所占用空间更小.docx格式 ...

  3. 如何用python整理表格_Python 自动整理 Excel 表格

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 位卑未敢忘忧国,事定犹须待盖棺. ...

  4. python xlsx追加数据_python 实现众多excel表格中关键数据追加项目配置库台账.xlsx...

    网上已经有很多这类的文章了,今天写这个就算是对今天的写的这个脚本的一个巩固和说明吧,话说同事每个月末都要从大量的excel表格中导出一点点数据并输出到另一个表格中,所以想啊,写个脚本自动化一点吧,不然 ...

  5. python 动态变量 excel 配置_python 实现众多excel表格中关键数据追加项目配置库台账.xlsx...

    网上已经有很多这类的文章了,今天写这个就算是对今天的写的这个脚本的一个巩固和说明吧,话说同事每个月末都要从大量的excel表格中导出一点点数据并输出到另一个表格中,所以想啊,写个脚本自动化一点吧,不然 ...

  6. python读word表格_python读取word文件里的表格。

    因为power bi desktop支持了python.借用了python将word文件里的表格读取到power bi里面. python这部分的代码如下.说明一下:用了docx库,这个库不支持doc ...

  7. python解析word中表格_python读取word表格

    python如何获取word文件中某个关键字之后的表格 用python对word文档进行搜索和读取,要CSS布局HTML小编今天和大家分享读取docx文件中某个关键字文本最好是全部都读取到程序中,在程 ...

  8. python写入word表格_Python办公自动化| word 表格转excel

    之前写过一篇 Python办公自动化 | 批量word报告生成工具 ,有小伙伴提出了逆向需求,即:从批量word中获取内容并写入excel,需求背景是汇总一些材料,举例:实习鉴定表.个人简历.档案等. ...

  9. python合并word表格_python合并word

    1 场景 合并多个word文件到一个文件中,用于文件的批量打印. 要求: 每个文件合并时,均从从一个新页面开始,文件之间的内容不连在一起. 文件的样式不发生改变. 2 方案 采用python实现,使用 ...

  10. python docx 字体大小_Python操作Word的入门教程

    Python操作Word的入门教程 前言 今天来介绍下,如何用 Python 来操作 Word. 再来介绍操作 Word 之前,先来说一个最近看书学到的法则,即 3W 法则. 3W:3W分别指 Wha ...

最新文章

  1. 资源 | 12月机器学习TOP 10文章,错过的快补课
  2. FreeSWITCH配置文件详解
  3. Redis批量设置值取值
  4. Java虚拟机:class类文件结构
  5. 开机出现grub界面(待尝试)
  6. 学习ASP.NET Core Razor 编程系列十八——并发解决方案
  7. Android版本演进中的兼容性问题
  8. iOS8:把这些七招APP哭
  9. s5pv210——nandflash和inand的基础理论
  10. React Native使用指南-在设备上运行
  11. O2O休闲零食品类白皮书
  12. 爱情才是程序员的第一生产力
  13. Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdb
  14. mysql int(3)_MySQL中int(11)与int(3)的区别_MySQL
  15. mongodb维护常用命令
  16. 计算机ers,读博、国企、互联网公司该如何选择?
  17. MCGS触摸屏通过MODBUS通讯速度控制台达B2伺服参数,有触摸屏源程序和伺服设定参数,实际的项目应用的。
  18. 修改Android模拟器存储位置,更改AndroidAVD模拟器创建路径位置的方法
  19. Nginx nginx.conf配置文件详解
  20. linux 7 realm,系统运维|Samba 系列(十五):用 SSSD 和 Realm 集成 Ubuntu 到 Samba4 AD DC...

热门文章

  1. 如何利用matlab做BP神经网络分析(利用matlab神经网络工具箱)
  2. 二次开发----在帆软报表设计器上添加自己的按钮
  3. unity之粒子特效制作图片拼合文字效果
  4. winapi消息大全
  5. 443端口被攻击怎么办
  6. matlab里的subs,急询:Matlab中 subs(S)的应用疑问?
  7. 一阶电路误差分析_自动控制(3)时域分析
  8. 唐诗欣赏静夜思用html设计,古诗鉴赏:静夜思
  9. 前端必备:六款CSS工具让代码充满魅力
  10. 多表连接查询与高级查询上(第三天)