我有一個文本文件的任務,並讓它被Python讀取爲一個非常長的字符串。也就是說,它不像csv或tsv,文本文件根本沒有表格結構,只是一堆文字。然而,該文本文件包含逗號和引號以及這種性質的東西,所以我得到解析問題。同時讀取原始文本文件和小節標點符號
我曾嘗試:
with open('text_file.txt') as f:
text_data = f.read().translate(string.punctuation)
這導致讀取錯誤:「字符映射」編解碼器不能在47位解碼字節0x9d:字符映射爲「未定義」
我不知道該錯誤是否是.txt文件中標點符號干擾解析過程的結果,或者是否有一些奇怪的非Unicode字符無法讀取。可能,我可能需要一個對這兩個問題都很有效的解決方案。
如果您覺得有更好的方法比我的同步閱讀/剝離標點方法來實現我的目標,請隨時提出替代方案。
這可能與打印Unicode字符到終端:http://stackoverflow.com/questions/14284269/why-doesnt-python-recognize-my-utf-8-encoded-source-file –
是否有任何方法或論據可以傳遞給解析過程,只是丟棄一個不認識的字符?這樣我就不必爲任何我碰巧掌握的任務設置特定的字符集。我在想'with'處理程序實際上並沒有在終端中放置任何文本,但我可能是錯的。 –
你知道文本文件的編碼嗎?如果它的utf-8,它可能就像'open('text_file.txt',encoding ='utf-8')'一樣簡單。 – tdelaney