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

yipeiwu_com6年前Python基础

本文实例讲述了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函数的5种参数详解

(1)       位置参数,调用函数时按位置传入参数 (2)     &n...

WxPython建立批量录入框窗口

有个小项目,碰到需要批量建立输入框的需求,本文利用WxPython建立批量录入框窗口 研究了一下WxPython ,实现了这个功能。 # coding=utf-8 """ 模块标题:...

Django 2.0版本的新特性抢先看!

前言 2017年12月2日,Django官方发布了2.0版本,成为多年来的第一次大版本提升,那么2.0对广大Django使用者有哪些变化和需要注意的地方呢? 一、Python兼容性 D...

Python3删除排序数组中重复项的方法分析

本文实例讲述了Python3删除排序数组中重复项的方法。分享给大家供大家参考,具体如下: 给定一个排序数组,你需要在[原地]删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新...

python pandas模块基础学习详解

Pandas类似R语言中的数据框(DataFrame),Pandas基于Numpy,但是对于数据框结构的处理比Numpy要来的容易。 1. Pandas的基本数据结构和使用 Panda...