最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

解決python大批量讀寫.doc文件的問題

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 14:21:40
文檔

解決python大批量讀寫.doc文件的問題

解決python大批量讀寫.doc文件的問題:這篇文章主要介紹了關(guān)于解決python大批量讀寫.doc文件的問題,有著一定的參考價(jià)值,現(xiàn)在分享給大家,有需要的朋友可以參考一下前言:java語言讀寫.doc的出現(xiàn)亂碼問題:大家都知道當(dāng)我們利用java語言讀寫.doc文件時(shí),無論是利用流的方式將.doc文件的內(nèi)容輸
推薦度:
導(dǎo)讀解決python大批量讀寫.doc文件的問題:這篇文章主要介紹了關(guān)于解決python大批量讀寫.doc文件的問題,有著一定的參考價(jià)值,現(xiàn)在分享給大家,有需要的朋友可以參考一下前言:java語言讀寫.doc的出現(xiàn)亂碼問題:大家都知道當(dāng)我們利用java語言讀寫.doc文件時(shí),無論是利用流的方式將.doc文件的內(nèi)容輸

這篇文章主要介紹了關(guān)于解決python大批量讀寫.doc文件的問題,有著一定的參考價(jià)值,現(xiàn)在分享給大家,有需要的朋友可以參考一下

前言:

java語言讀寫.doc的出現(xiàn)亂碼問題:

大家都知道當(dāng)我們利用java語言讀寫.doc文件時(shí),無論是利用流的方式將.doc文件的內(nèi)容輸出到控制臺(console),還是將其寫到其他文件中,無論你采取何種編碼格式(utf-8,gbk等)輸出,你看到的內(nèi)容99%都是亂碼。

java語言讀寫.doc的出現(xiàn)亂碼問題原因分析:

.doc文件是微軟開發(fā)的用于辦公的編輯文字的軟件之一,如果說一篇word文檔的字體格式采用的是utf-8,那么你采用utf-8格式讀寫該文檔,應(yīng)該能夠正確輸出漢字,但是一旦你的word文檔里面的字體的尺寸改變,字體加上顏色屬性,字體加上某種style時(shí),那么本篇word文檔的格式就變了,而不再是utf-8,因此采用utf-8格式輸出99%都是亂碼。

利用java語言讀寫.doc文檔避免亂碼的解決方案:(sun公司pk微軟公司)

可以利用sun公司開發(fā)的poi包,該包提供修改微軟辦公軟件的接口,利用poi包讀寫.doc文件,通常就不會產(chǎn)生亂碼。如果看到這里你就大概認(rèn)為,我終于可以利用java去處理.doc文件了,那么我想說的是,你開心的太早了。據(jù)我所知,截止到2017年12月22日,poi包的最新版本是3.1.7版,你也許對該版本沒有什么概念,3.1.7版本的poi包只能處理微軟2007版本的word,excel,ppt等,也就是說poi3.1.7版本的jar包不支持處理咱們電腦上頂配的word2016,因此可以說你可以放棄使用java讀寫word2016了。但是你也可以嘗試用其他的接口去處理word,但是效率都不會比poi接口高,幸運(yùn)的是,官網(wǎng)顯示poi最新版本將在2017年12月份推出,但是截止到2017年12月22日,我還沒有在官網(wǎng)看到此jar包。

正文:

python在處理文檔的語言處理方面比java更勝一籌,畢竟python結(jié)合正則表達(dá)式在自然語言處理方面還是很強(qiáng)勢的。最近在做深度學(xué)習(xí)的項(xiàng)目,需要解析并處理幾百個(gè)數(shù)量級的.doc文件。眾所周知,python讀寫.txt文檔可以說一路暢通無阻,不管你中文是什么格式;python在讀寫.docx文檔時(shí),也比較暢通,最多你需要在命令行安裝python-docx (0.8.6),就可以讀寫.docx文檔了,具體讀寫方案,下述。

問題:python無法讀取.doc文件(而不是.docx文件)

解決方案:利用python將大批.doc文件轉(zhuǎn)化為.docx文件,再讀寫.docx文件

問題分析:python利用python-docx (0.8.6)庫可以讀取.docx文件或.txt文件,且一路暢通無阻,而對.doc文件本身python是無能為力的,那有很多同學(xué)就不服氣,我手動(dòng)把.doc文件的后綴名改為.docx或.txt不就解決問題了嗎?答案是不能的,簡單修改后綴名,那么文件就被你玩壞了,別說打不開,就是打開也是天書?。▉y碼)。python無法操作.doc文件是他的先天不足,但是我們不要鉆牛角尖一定要在互聯(lián)網(wǎng)上找到一種源碼直接讀取.doc文件,一調(diào)用就好了,但是不幸的是,你可能在網(wǎng)上也找不到解決方案。正當(dāng)我一籌莫展之時(shí),我將.doc文檔利用手動(dòng)的方式“另存為”.docx文檔,就能夠成功打開轉(zhuǎn)化后的.docx文檔,于是我就嘗試?yán)么a方式完成這個(gè)手動(dòng)的“另存為”功能,問題得以解決。

直接上python代碼(首先你需要先安裝pypewin32庫):

# -*- coding: utf-8 -*-:
import sys
import pickle
import re
import codecs
import string
import shutil
from win32com import client as wc
def doSaveAas(): # 想批處理文件,你就用for循環(huán)唄,我一次性處理了100多個(gè)文件,代碼執(zhí)行不超過2分鐘,可以解決問題,目標(biāo)文件路徑可以自由改動(dòng),大家注意SaveAs方法中的參數(shù),好多啊,別寫錯(cuò)了
word = wc.Dispatch('Word.Application')
doc = word.Documents.Open(u'C:\Users\X\PycharmProjects\1\大家好.doc') # 目標(biāo)路徑下的文件
doc.SaveAs(u'C:\Users\X\PycharmProjects\1\我是一枚小小的程序員X007.docx', 12, False, "", True, "", False, False, False, False) # 轉(zhuǎn)化后路徑下的文件 
doc.Close()
word.Quit()

轉(zhuǎn)化為.docx文件后,在處理.docx文件,一路暢通無阻,網(wǎng)上很多解決方案,這里我就不詳細(xì)說了,有問題,可以給我留言喲

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

解決python大批量讀寫.doc文件的問題

解決python大批量讀寫.doc文件的問題:這篇文章主要介紹了關(guān)于解決python大批量讀寫.doc文件的問題,有著一定的參考價(jià)值,現(xiàn)在分享給大家,有需要的朋友可以參考一下前言:java語言讀寫.doc的出現(xiàn)亂碼問題:大家都知道當(dāng)我們利用java語言讀寫.doc文件時(shí),無論是利用流的方式將.doc文件的內(nèi)容輸
推薦度:
標(biāo)簽: 大批量 大批 doc文件
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top