python生成txt文件-九游会j9娱乐平台
ⅰ 利用python將docx文件轉為txt
背景:工作中需要將文件夾下的若干word文件docx轉換為對應txt文本格式
因此需要將docx中文本讀取出來,然後保存為txt格式即可
需要的python模塊為 python-docx : https://python-docx.readthedocs.io/en/latest/index.html, 導入模塊時候導入docx
(只能讀取.docx文件,不能讀取.doc文件)
注意,在pypi里還有一個叫docx的庫,已經停止更新,不建議使用)
http://www.cnblogs.com/geek-arking/p/9300617.html
上面的方法只能讀取docx文件,如果讀取doc會報錯
結果報錯:docx.opc.exceptions.packagenotfounderror: package not found。還是無法識別doc
「改變拓展名並沒有改變其編碼方式,因此無法讀取文本內容,需將doc文件用word另存為docx後再用python-docx讀取其內容」
對於要轉換的doc文件,網上的資料都是使用win32,需要安裝 pypiwin32
https://www.cnblogs.com/algorithmdot/p/3386918.html
通過上面的方法,有時可以直接將doc轉換為txt文件,有時候會報錯。
這里我們可以考慮將doc文件直接轉換為docx然後再通過上面的方法讀取為txt,如果手動將doc修改為txt或者docx,打開文件會顯示亂碼,但是可以用其提供的saveas方法將.doc文檔利用手動的方式「另存為」.docx文檔,就能夠成功打開轉化後的.docx文檔,
doc.saveas(tmp '.docx', 16)
其中16的含義如下:
利用win32com介面直接調用office api,好處是簡單、兼容性好,只要office能處理的,python都可以處理,處理出來的結果和office word裡面「另存為」一致。
下面是office 2007支持的全部文件格式對應表:
wdformatdocument = 0
wdformatdocument97 = 0
wdformatdocumentdefault = 16
wdformatdostext = 4
wdformatdostextlinebreaks = 5
wdformatencodedtext = 7
wdformatfilteredhtml = 10
wdformatflatxml = 19
wdformatflatxmlmacroenabled = 20
wdformatflatxmltemplate = 21
= 22
wdformathtml = 8
wdformatpdf = 17
wdformatrtf = 6
wdformattemplate = 1
wdformattemplate97 = 1
wdformattext = 2
wdformattextlinebreaks = 3
wdformatunicodetext = 7
wdformatwebarchive = 9
wdformatxml = 11
wdformatxmldocument = 12
= 13
wdformatxmltemplate = 14
= 15
wdformatxps = 18
照著字面意思應該能對應到相應的文件格式。
1、新建或打開文件。這個比較簡單用docx的document類,若指定路徑則是打開文檔;若沒有指定路徑則是新建文檔
2、保存文件。有打開,就有保存。用document類的save方法,其中參數是保存的文件路徑,或者要保存的文件流。一般指定路徑即可。
doc.save(path_or_stream)
3、對象集合。python-docx包含了word文檔的相關對象集合。
4、插入段落。段落是word最基本的對象之一。
5、新增樣式。這個幫助文檔裡面說得不仔細,而且還是英文的。我手頭上的項目用到這個,就自己琢磨出怎麼使用,如下。
6、應用字元樣式。字元自然是在段落裡面的,可以採用下面方法給段落追加文字和設置字元樣式。
#插入一個空白段落
p = doc.add_paragraph('')
p.add_run('123', style="heading 1 char")
p.add_run('456')
p.add_run('789', style="heading 2 char")
#這樣一個段落就應用了兩個字元樣式,中間「456」就沒應用樣式
printp.text#輸出結果是u'123456789' 也還是連續的
7、設置字體。當然可以不用通過設置樣式對某些字進行設置,也可以直接設置。
p = doc.add_paragraph('')
r = p.add_run('123')
r.font.bold =true#加粗
r.font.italic =true#傾斜 等等...
8、表格操作。表格也是經常用到的一種對象類型。
ⅱ 如何將python運行結果保存成txt
將python運行結果保存成txt的具體操作步驟如下:
1、首先我們打開電腦桌面,在電腦桌面上點按win r進入運行,在搜索框里輸入cmd並點擊確定。
ⅲ python批量讀取加密word文檔轉存txt文本實現
# -*- coding:utf-8 -*-
from win32com import client as wc
import os
key = '文檔密碼'
def translate(input, output):
# 轉換
wordapp = wc.dispatch('word.application')
try:
doc = wordapp.documents.open(input, false, false, false,key)
doc.saveas(filename=output, fileformat=4, encoding="gb2312")
doc.close()
print(input, "完成")
os.remove(input)
# 為了讓python可以在後續操作中r方式讀取txt和不產生亂碼,參數為4
except:
print(input,"密碼錯誤")
if __name__ == '__main__':
#docx文檔物理路徑
path = r"c:usersdocx"
key = '文檔密碼'
j=0
for file in os.listdir(path):
if '.doc' in file:
name = file.split(".docx")[0]
#輸入文檔物理路徑
input_file = r"c:usersdocx" "" file
#輸出文檔物理路徑
output_file=r"c:users xt" "" name ".txt"
translate(input_file, output_file)
j=j 1
print(j)
else:continue
ⅳ python怎麼創建一個txt文件
python怎麼創建一個txt文件的方法。
如下參考:
1.首先使用內置的空閑編輯器進行編輯(右鍵單擊並選擇),如下圖所示。
ⅳ 怎麼用python把save文件改成txt文件
一、利用open和write函數
with open('test.txt','w') as f:
f.write(test)
其中test.txt為要保存的文件filename,test為要保存的數據,可以為字元串str類型,也可以是bytes類型,但是此種方法無法保存數組,數組保存需要下面第二種方法。
二、利用np.save函數
np.savetxt('test.txt',test,fmt='%d')
其中test.txt為要保存的文件filename,test為要保存的數組,fmt='%d'為數據保存格式,保存為整數。
ⅵ python怎麼新建文檔怎麼用python建立一個txt文檔並輸入內容啊
在電腦桌譽胡槐面上,新建一個名為做宏a的文件夾。
並記住這個文件夾裡面的絕對路徑,我這是:
c:\users\administrator\desktop\a
注意,此時文件夾a裡面是空的。
打開python的編譯器;
我用的python是anaconda整合的python3的版本對應的編譯器:spyder。
開端就寫:
#!/usr/bin/python
這就像是一句開場白。
既然需要輸出中慶友文,那麼就需要設定編碼格式:
# -*- coding:utf-8 -*-
用python在文件夾a裡面,建立一個b.txt文檔:
file = open('c:/users/administrator/desktop/a/b.txt','w')
'w'表示這個文檔可以編輯,就是可讀可寫的意思。
在裡面寫文字:
file.write('你好,\n 世界。')
其中,\n是換行符。
整體代碼如下:
#!/usr/bin/python
# -*- coding:utf-8 -*-
file = open('c:/users/administrator/desktop/a/b.txt','w')
file.write('你好,\n 世界。')
而此時,a文件夾裡面已經有了一個b.txt文檔。
打開這個文檔,可以看到內容如下圖所示。