2014-02-20 48 views
1

這是給下面的錯誤我嘗試遍歷在MS Word段落使用win32com蟒蛇

print Text 
File "C:\Python27\lib\encodings\cp437.py", line 12, in encodereturn codecs.charmap_encode(input,errors,encoding_map) 
UnicodeEncodeError: 'charmap' codec can't encode character u'\u2026' in position 0: 
character maps to undefined 

我使用的代碼是

import win32com.client 
import os 
MSWord = win32com.client.Dispatch("Word.Application") 
MSWord.Visible = True 
Document = MSWord.Documents.Open(os.getcwd()+'\\' + 'MARS.doc') 
for paragraph in Document.Paragraphs: 
    Text = paragraph.Range.Text 
    print Text 
+0

雖然我們很多人會很樂意回答您的問題,但如果您向我們展示您已經嘗試過的代碼,我們更有可能瞭解問題並提供有用的答案。以下是關於如何提供[最小,完整,測試和可讀](http://stackoverflow.com/help/mcve)代碼的一些信息。歡迎來到堆棧溢出! – mhlester

+1

當你[編輯]你的問題時,選擇代碼部分並按下'{}'按鈕。這會使其正確縮進以顯示。看看編輯窗口下面的預覽,看看你的代碼將如何看待 – mhlester

+0

@ mhlester +1進行輔導,我爲他們做了編輯,希望這也有幫助 – Schollii

回答

0

你的文字有不能打印Unicode字符標準輸出。嘗試

Document = MSWord.Documents.Open(os.getcwd()+'\\' + 'MARS.doc') 
counter = 0 
for paragraph in Document.Paragraphs: 
    counter += 1 
    Text = paragraph.Range.Text 
    print "paragraph to edit:", counter, ":" 
    print str(Text).encode('ascii', 'replace') 

這樣,不可打印的字符將顯示爲'?'。但是如果你在你的問題中澄清你真的想要做什麼(可能是一些文本處理),你會得到更多有用的答案。

+0

我希望看到段落編號,以便我可以在需要編輯第 – user2481458

+0

請解釋「段落號碼」 – Schollii

+0

我把一個計數在段落迭代,所以我可以看到在ms字位置,我需要編輯 – user2481458