2013-07-12 54 views
2

我有一個文件夾,其中包含多個.docx文件,其名稱爲[Code2001.docx, Code2002.docx... Code2154.docx]使用python讀寫.docx文件

我試圖寫一個腳本,將:

  1. 打開每個.docx文件
  2. 追加一行到文件; 「這是檢查」
  3. 的的.docx文件保存到另一個文件夾,命名爲「Code2001_checked」

搜索我只設法獲得與環文件名後:

import os 
os.chdir(r"E:......\test") 

for files in os.listdir("."): 
    if files.endswith(".docx"): 
     print filename 

我也發現這個:docx module但文檔很差繼續。

關於如何完成此腳本的任何建議?

+2

爲什麼不簡單地重命名(移動)他們?如果名稱被改變,那麼你知道它被檢查。 'docx'並不是最簡單的格式,特別是如果不是從你提到的那個庫開始。 – Leeward

+1

不幸的是,我必須在.docx文件中寫入一行 –

+0

python-docx的文檔有什麼問題?哪一部分給你造成麻煩? –

回答

5
from docx import * 
document = opendocx("document.doc") 
body = document.xpath('/w:document/w:body', namespaces=nsprefixes)[0] 
body.append(paragraph('Appending this.')) 

第二行可能需要機會,具體取決於文件中要添加文本的位置。要完成此操作,您需要使用savedocx()函數,並且在項目的根目錄中有一個使用示例。

+0

從Sam Barami發佈的幫助文章後,我終於找到了代碼。 –

+1

如果可以的話,你應該避免使用'import *':[https://docs.python.org/2/faq/programming.html#what-are-the-best-practices-for-using-import-in-一個模塊(https://docs.python.org/2/faq/programming.html#what-are-the-best-practices-for-using-import-in-a-module) – LMc