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

850次阅读  |  发布于5年以前

本文实例讲述了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程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8