Python实现批量读取word中表格信息的方法


Posted in Python onJuly 30, 2015

本文实例讲述了Python实现批量读取word中表格信息的方法。分享给大家供大家参考。具体如下:

单位收集了很多word格式的调查表,领导需要收集表单里的信息,我就把所有调查表放一个文件里,写了个python小程序把所需的信息打印出来

#coding:utf-8
import os
import win32com
from win32com.client import Dispatch, constants
from docx import Document
def parse_doc(f):
  """读取doc,返回姓名和行业
  """
  doc = w.Documents.Open( FileName = f )
  t = doc.Tables[0] # 根据文件中的图表选择信息
  name = t.Rows[0].Cells[1].Range.Text  
  situation = t.Rows[0].Cells[5].Range.Text
  people = t.Rows[1].Cells[1].Range.Text
  title = t.Rows[1].Cells[3].Range.Text  
  print name, situation, people,title
  doc.Close()
def parse_docx(f):
  """读取docx,返回姓名和行业
  """
  d = Document(f)
  t = d.tables[0]
  name = t.cell(0,1).text
  situation = t.cell(0,8).text
  people = t.cell(1,2).text
  title = t.cell(1,8).text
  print name, situation, people,title
if __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 e
    elif os.path.splitext(doc)[1] == '.doc':
      try:
        parse_doc(PATH+'\\'+doc)
      except Exception as e:
        print e

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python 命令行非阻塞输入的小例子
Sep 27 Python
使用python实现扫描端口示例
Mar 29 Python
Python的Django框架使用入门指引
Apr 15 Python
总结Python中逻辑运算符的使用
May 13 Python
python中base64加密解密方法实例分析
May 16 Python
python数据结构之列表和元组的详解
Sep 23 Python
Python实现求数列和的方法示例
Jan 12 Python
修复 Django migration 时遇到的问题解决
Jun 14 Python
浅谈关于Python3中venv虚拟环境
Aug 01 Python
Python实现正则表达式匹配任意的邮箱方法
Dec 20 Python
django admin 添加自定义链接方式
Mar 11 Python
python主要用于哪些方向
Jul 05 Python
python删除特定文件的方法
Jul 30 #Python
Python通过90行代码搭建一个音乐搜索工具
Jul 29 #Python
Python的迭代器和生成器
Jul 29 #Python
在Python程序中操作MySQL的基本方法
Jul 29 #Python
Python操作Word批量生成文章的方法
Jul 28 #Python
Python实现批量转换文件编码的方法
Jul 28 #Python
Python中subprocess的简单使用示例
Jul 28 #Python
You might like
Zend Framework页面缓存实例
2014/06/25 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
2014/10/31 PHP
PHP生成图像验证码的方法小结(2种方法)
2016/07/18 PHP
Laravel框架搜索分页功能示例
2019/02/01 PHP
Laravel使用Queue队列的技巧汇总
2019/09/02 PHP
Javascript中的arguments与重载介绍
2015/03/15 Javascript
jQuery检测返回值的数据类型
2015/07/13 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
2016/05/09 Javascript
jquery 获取select数组与name数组长度的实现代码
2016/06/20 Javascript
AngularJS 文件上传控件 ng-file-upload详解
2017/01/13 Javascript
React-router中结合webpack实现按需加载实例
2017/05/25 Javascript
Vue路由跳转问题记录详解
2017/06/15 Javascript
微信小程序实现页面跳转传值的方法
2017/10/12 Javascript
vue 简单自动补全的输入框的示例
2018/03/12 Javascript
解决vue-cli创建项目的loader问题
2018/03/13 Javascript
JavaScript的数据类型转换原则(干货)
2018/03/15 Javascript
深入学习Vue nextTick的用法及原理
2019/10/08 Javascript
js实现的订阅发布者模式简单示例
2020/03/14 Javascript
Vue实现Layui的集成方法步骤
2020/04/10 Javascript
关于better-scroll插件的无法滑动bug(2021通过插件解决)
2021/03/01 Javascript
[36:14]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第二局
2016/02/28 DOTA
Python每天必学之bytes字节
2016/01/28 Python
python实现机器人行走效果
2018/01/29 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
2018/04/02 Python
解决Python print输出不换行没空格的问题
2018/11/14 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
2020/06/02 Python
Pyinstaller打包Scrapy项目的实现步骤
2020/09/22 Python
几个CSS3的flex弹性盒模型布局的简单例子演示
2016/05/12 HTML / CSS
美体小铺波兰官方网站:The Body Shop波兰
2019/09/03 全球购物
法律顾问服务方案
2014/05/15 职场文书
驾驶员安全责任书范本
2014/07/24 职场文书
网络妈妈观后感
2015/06/08 职场文书
法人代表证明书范本
2015/06/18 职场文书
2015年大学迎新晚会总结
2015/07/16 职场文书
学生会2016感恩节活动小结
2016/04/01 职场文书
python中如何对多变量连续赋值
2021/06/03 Python