最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2015年08月09日 16:26:29   投稿:hebedich  
這里給大家分享的是php讀取word并提取word內(nèi)信息的方法,十分的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。
單位收集了很多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) #不要(),容易引起歧義。

相關(guān)文章

  • pandas中DataFrame字典互轉(zhuǎn)的實(shí)現(xiàn)

    pandas中DataFrame字典互轉(zhuǎn)的實(shí)現(xiàn)

    在數(shù)據(jù)處理和分析中,Pandas是一個(gè)非常強(qiáng)大的Python庫(kù),本文主要介紹了pandas中DataFrame字典互轉(zhuǎn)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-04-04
  • Python OpenCV實(shí)現(xiàn)視頻追蹤

    Python OpenCV實(shí)現(xiàn)視頻追蹤

    這篇文章主要為大家詳細(xì)介紹了Python OpenCV實(shí)現(xiàn)視頻追蹤,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Python numpy 常用函數(shù)總結(jié)

    Python numpy 常用函數(shù)總結(jié)

    Numpy是Python的一個(gè)科學(xué)計(jì)算的庫(kù),提供了矩陣運(yùn)算的功能,其一般與Scipy、matplotlib一起使用。這篇文章主要介紹了Python numpy 常用函數(shù)總結(jié),需要的朋友可以參考下
    2017-12-12
  • 深入探究Python如何實(shí)現(xiàn)100個(gè)并發(fā)請(qǐng)求

    深入探究Python如何實(shí)現(xiàn)100個(gè)并發(fā)請(qǐng)求

    在Web開(kāi)發(fā)和數(shù)據(jù)抓取等領(lǐng)域,并發(fā)請(qǐng)求是提高效率和性能的重要手段,本文將深入探討如何使用Python實(shí)現(xiàn)100個(gè)并發(fā)請(qǐng)求,感興趣的小伙伴可以了解下
    2025-02-02
  • Python實(shí)現(xiàn)解析Bit Torrent種子文件內(nèi)容的方法

    Python實(shí)現(xiàn)解析Bit Torrent種子文件內(nèi)容的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)解析Bit Torrent種子文件內(nèi)容的方法,結(jié)合實(shí)例形式分析了Python針對(duì)Torrent文件的讀取與解析相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2017-08-08
  • Python批量獲取基金數(shù)據(jù)的方法步驟

    Python批量獲取基金數(shù)據(jù)的方法步驟

    這篇文章主要介紹了Python批量獲取基金數(shù)據(jù)的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 9個(gè)提高?Python?編程的小技巧

    9個(gè)提高?Python?編程的小技巧

    這篇文章主要介紹了9個(gè)提高?Python?編程的小技巧,下文分享python編程技巧,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-05-05
  • 機(jī)器學(xué)習(xí)python實(shí)戰(zhàn)之決策樹(shù)

    機(jī)器學(xué)習(xí)python實(shí)戰(zhàn)之決策樹(shù)

    這篇文章主要為大家詳細(xì)介紹了機(jī)器學(xué)習(xí)python實(shí)戰(zhàn)之決策樹(shù)的相關(guān)資料 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 利用Django提供的ModelForm增刪改數(shù)據(jù)的方法

    利用Django提供的ModelForm增刪改數(shù)據(jù)的方法

    這篇文章主要介紹了利用Django提供的ModelForm增刪改數(shù)據(jù),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Python下singleton模式的實(shí)現(xiàn)方法

    Python下singleton模式的實(shí)現(xiàn)方法

    這篇文章主要介紹了Python下singleton模式的實(shí)現(xiàn)方法,有一定的借鑒價(jià)值,需要的朋友可以參考下
    2014-07-07

最新評(píng)論

桃江县| 大港区| 龙川县| 泌阳县| 深水埗区| 增城市| 莱芜市| 招远市| 博客| 青浦区| 曲水县| 辽中县| 枝江市| 马尔康县| 高密市| 上林县| 乌恰县| 无锡市| 峡江县| 永平县| 原平市| 图们市| 乌鲁木齐市| 宜宾市| 永善县| 渝中区| 崇信县| 延川县| 贵定县| 内江市| 平山县| 英吉沙县| 福清市| 奈曼旗| 沿河| 太仓市| 博客| 晋宁县| 华安县| 侯马市| 文山县|