當前位置:首頁 » 編程語言 » python生成txt文件

python生成txt文件

發布時間: 2024-02-09 07:39:43

Ⅰ 利用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文檔。

打開這個文檔,可以看到內容如下圖所示。

熱點內容
傳奇伺服器源碼 發布:2024-11-29 11:43:15 瀏覽:819
新手機如何登錄微信密碼忘記了 發布:2024-11-29 11:34:34 瀏覽:543
筆記本配置低怎麼玩lol 發布:2024-11-29 11:34:32 瀏覽:460
如何在iphone上玩安卓號 發布:2024-11-29 11:24:21 瀏覽:753
伺服器店鋪怎麼取名 發布:2024-11-29 11:19:26 瀏覽:3
phpapache日誌 發布:2024-11-29 11:07:26 瀏覽:309
國圖資料庫 發布:2024-11-29 10:34:15 瀏覽:541
vpn免流伺服器搭建 發布:2024-11-29 10:26:12 瀏覽:245
c源文件編譯後的擴展名為 發布:2024-11-29 10:08:40 瀏覽:924
腳本自動登錄 發布:2024-11-29 09:55:27 瀏覽:63