国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2020-02-23 00:02:38
字體:
來源:轉載
供稿:網友

前言:

java語言讀寫.doc的出現亂碼問題:

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

java語言讀寫.doc的出現亂碼問題原因分析:

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

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

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

正文:

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

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

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 同仁县| 自贡市| 胶州市| 博白县| 宜兴市| 缙云县| 交城县| 铁力市| 寿阳县| 自贡市| 佛山市| 静宁县| 乌兰县| 巴青县| 通化县| 额尔古纳市| 阆中市| 武夷山市| 会东县| 垦利县| 班戈县| 吉林市| 池州市| 阜宁县| 丰原市| 沙坪坝区| 灵璧县| 永平县| 芜湖市| 岑巩县| 泸水县| 左云县| 青冈县| 汾西县| 新乡县| 临夏县| 柞水县| 育儿| 泰州市| 昂仁县| 紫阳县|