亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

解決python大批量讀寫(xiě).doc文件的問(wèn)題

 更新時(shí)間:2018年05月08日 08:41:57   作者:X21214054  
今天小編就為大家分享一篇解決python大批量讀寫(xiě).doc文件的問(wèn)題。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

前言:

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

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

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

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

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

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

正文:

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

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

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

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

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

# -*- 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í)行不超過(guò)2分鐘,可以解決問(wèn)題,目標(biāo)文件路徑可以自由改動(dòng),大家注意SaveAs方法中的參數(shù),好多啊,別寫(xiě)錯(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ú)阻,網(wǎng)上很多解決方案,這里我就不詳細(xì)說(shuō)了,有問(wèn)題,可以給我留言喲

以上這篇解決python大批量讀寫(xiě).doc文件的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何用python復(fù)制粘貼excel指定單元格(可保留格式)

    如何用python復(fù)制粘貼excel指定單元格(可保留格式)

    這篇文章主要給大家介紹了關(guān)于如何用python復(fù)制粘貼excel指定單元格(可保留格式)的相關(guān)資料,利用python操作excel非常方便,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • Python?format字符串格式化函數(shù)的使用

    Python?format字符串格式化函數(shù)的使用

    本文主要介紹了Python?format字符串格式化函數(shù)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • python歐拉角和旋轉(zhuǎn)矩陣變換的實(shí)現(xiàn)示例

    python歐拉角和旋轉(zhuǎn)矩陣變換的實(shí)現(xiàn)示例

    在計(jì)算機(jī)圖形學(xué)中,歐拉角和旋轉(zhuǎn)矩陣是描述物體旋轉(zhuǎn)的常用方法,本文主要介紹了python歐拉角和旋轉(zhuǎn)矩陣變換的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • 用python標(biāo)準(zhǔn)庫(kù)difflib比較兩份文件的異同詳解

    用python標(biāo)準(zhǔn)庫(kù)difflib比較兩份文件的異同詳解

    今天小編就為大家分享一篇用python標(biāo)準(zhǔn)庫(kù)difflib比較兩份文件的異同詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Python利用request庫(kù)實(shí)現(xiàn)翻譯接口

    Python利用request庫(kù)實(shí)現(xiàn)翻譯接口

    這篇文章主要為大家詳細(xì)介紹了Python如何利用request庫(kù)打造自己的翻譯接口,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-04-04
  • django+js+ajax實(shí)現(xiàn)刷新頁(yè)面的方法

    django+js+ajax實(shí)現(xiàn)刷新頁(yè)面的方法

    這篇文章主要介紹了django+js+ajax實(shí)現(xiàn)刷新頁(yè)面的方法,結(jié)合實(shí)例形式分析了django實(shí)現(xiàn)ajax刷新頁(yè)面功能的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • Python用類實(shí)現(xiàn)撲克牌發(fā)牌的示例代碼

    Python用類實(shí)現(xiàn)撲克牌發(fā)牌的示例代碼

    這篇文章主要介紹了Python用類實(shí)現(xiàn)撲克牌發(fā)牌的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 詳解利用裝飾器擴(kuò)展Python計(jì)時(shí)器

    詳解利用裝飾器擴(kuò)展Python計(jì)時(shí)器

    在本文中,云朵君將和大家一起了解裝飾器的工作原理,如何將我們之前定義的定時(shí)器類?Timer?擴(kuò)展為裝飾器,以及如何簡(jiǎn)化計(jì)時(shí)功能,感興趣的可以了解一下
    2022-06-06
  • 詳解Python self 參數(shù)

    詳解Python self 參數(shù)

    這篇文章主要介紹了Python self 參數(shù)詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 使用Python的Tornado框架實(shí)現(xiàn)一個(gè)Web端圖書(shū)展示頁(yè)面

    使用Python的Tornado框架實(shí)現(xiàn)一個(gè)Web端圖書(shū)展示頁(yè)面

    Tornado是Python的一款高人氣Web開(kāi)發(fā)框架,這里我們來(lái)展示使用Python的Tornado框架實(shí)現(xiàn)一個(gè)Web端圖書(shū)展示頁(yè)面的實(shí)例,通過(guò)該實(shí)例可以清楚地學(xué)習(xí)到Tornado的模板使用及整個(gè)Web程序的執(zhí)行流程.
    2016-07-07

最新評(píng)論