亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python批量提取word內(nèi)信息

系統(tǒng) 2015 0
單位收集了很多word格式的調(diào)查表,領(lǐng)導(dǎo)需要收集表單里的信息,我就把所有調(diào)查表放一個(gè)文件里,寫(xiě)了個(gè)python小程序把所需的信息打印出來(lái)
            
#coding:utf-8
 
import os
import win32com
from win32com.client import Dispatch, constants
from docx import Document
 
def parse_doc(f):
  """讀取doc,返回姓名和行業(yè)
  """
  doc = w.Documents.Open( FileName = f )
  t = doc.Tables[0] # 根據(jù)文件中的圖表選擇信息
  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,返回姓名和行業(yè)
  """
  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
          
下載安裝win32com
            
from win32com import client as wc
 word = wc.Dispatch('Word.Application')
 doc = word.Documents.Open('c:/test')
 doc.SaveAs('c:/test.text', 2)
 doc.Close()
 word.Quit()
          

這種方式產(chǎn)生的text文檔,不能用python用普通的r方式讀取,為了讓python可以用r方式讀取,應(yīng)當(dāng)寫(xiě)成
doc.SaveAs('c:/test', 4)
注意:系統(tǒng)執(zhí)行完成后,會(huì)自動(dòng)產(chǎn)生文件后綴txt(雖然沒(méi)有指明后綴)。
在xp系統(tǒng)下面,應(yīng)當(dāng),
            
 open(r'c:\text','r')
wdFormatDocument = 0 wdFormatDocument97 = 0 wdFormatDocumentDefault = 16 wdFormatDOSText = 4 wdFormatDOSTextLineBreaks = 5 wdFormatEncodedText = 7 wdFormatFilteredHTML = 10 wdFormatFlatXML = 19 wdFormatFlatXMLMacroEnabled = 20 wdFormatFlatXMLTemplate = 21 wdFormatFlatXMLTemplateMacroEnabled = 22 wdFormatHTML = 8 wdFormatPDF = 17 wdFormatRTF = 6 wdFormatTemplate = 1 wdFormatTemplate97 = 1 wdFormatText = 2 wdFormatTextLineBreaks = 3 wdFormatUnicodeText = 7 wdFormatWebArchive = 9 wdFormatXML = 11 wdFormatXMLDocument = 12 wdFormatXMLDocumentMacroEnabled = 13 wdFormatXMLTemplate = 14 wdFormatXMLTemplateMacroEnabled = 15 wdFormatXPS = 18 
          
照著字面意思應(yīng)該能對(duì)應(yīng)到相應(yīng)的文件格式,如果你是office 2003可能支持不了這么多格式。word文件轉(zhuǎn)html有兩種格式可選wdFormatHTML、wdFormatFilteredHTML(對(duì)應(yīng)數(shù)字 8、10),區(qū)別是如果是wdFormatHTML格式的話,word文件里面的公式等ole對(duì)象將會(huì)存儲(chǔ)成wmf格式,而選用 wdFormatFilteredHTML的話公式圖片將存儲(chǔ)為gif格式,而且目測(cè)可以看出用wdFormatFilteredHTML生成的HTML 明顯比wdFormatHTML要干凈許多。
當(dāng)然你也可以用任意一種語(yǔ)言通過(guò)com來(lái)調(diào)用office API,比如PHP.
            
from win32com import client as wc
 
 word = wc.Dispatch('Word.Application')
 
 doc = word.Documents.Open(r'c:/test1.doc')
 
 doc.SaveAs('c:/test1.text', 4)
 
 doc.Close()
 import re
 strings=open(r'c:\test1.text','r').read()
 result=re.findall('\(\s*[A-D]\s*\)|\(\xa1*[A-D]\xa1*\)|\(\s*[A-D]\s*\)|\(\xa1*[A-D]\xa1*\)',strings)
 chan=re.sub('\(\s*[A-D]\s*\)|\(\xa1*[A-D]\xa1*\)|\(\s*[A-D]\s*\)|\(\xa1*[A-D]\xa1*\)','()',strings)
 question=open(r'c:\question','a+')
 question.write(chan)
 question.close()
 answer=open(r'c:\answeronly','a+')
 for i,a in enumerate(result):
  m=re.search('[A-D]',a)
  answer.write(str(i+1)+' '+m.group()+'\n')
 answer.close()
chan=re.sub(r'\xa3\xa8\s*[A-D]\s*\xa3\xa9','()',strings) #不要(),容易引起歧義。
          

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 欧美特欧美特级一片 | 理论片黄色 | 国产亚洲女人久久久久久 | 久久美 | 国产中的精品一区的 | 国产精品成人扳一级aa毛片 | 日本精品视频在线观看 | 最新国产一区二区精品久久 | 久久er99热精品一区二区 | 日韩午夜在线视频不卡片 | 亚洲国产精品久久久天堂麻豆 | 国产成人精品第一区二区 | 伊人网综合 | 欧美一级视 | 台湾一级毛片免费播放 | 国产美女拍拍拍在线观看 | 精品一区二区三区在线视频 | 在线观看精品国产 | 日韩一级a毛片欧美一级 | 日本不卡视频网站 | 国产精品亚洲第一区广西莫菁 | 免费观看男女羞羞的视频网站 | 国产美女a做受大片免费 | 淫视频网站 | 狠狠色噜噜 | 奇米影视大全 | 一级片免费网址 | 久久99爰这里有精品国产 | 国产亚洲精aa在线观看香蕉 | 日本在线视频毛片 | 亚洲精品国产综合久久一线 | 久久这里只有精品66 | 国产日韩欧美精品一区 | 国产99视频精品免费视频免里 | 日本高清精品 | 亚洲黄色在线观看视频 | 日本毛片大全 | 久久视频这里只有精品 | 国产精品久久久久久久久久久威 | 日本久久99 | 精品国产日韩亚洲一区二区 |