我是一個Python新手,我正在嘗試編寫一個將文本文件(以特定格式編寫)解析爲XML文件的Python腳本。文本文件是用非歐洲語言編寫的,編碼爲UTF-8(從右向左寫),這一點給我帶來一些麻煩。在Python中將UTF-8解析爲XML
文本文件的格式:
{number}"|"{number}"|" {text in UTF-8}
其中的一個例子是:
1|2|حمد ހުރީ، عالم ތަކުގެ ވެރި اللَّه އަށެވެ
最初的問題是,從所述文本讀取時,這些詞的排序是圍繞在Python切換。 如果正文如下: 1 | 2 | ABC DEF,Python會將其顯示爲1 | 2 | DEF ABC 這顯然是不正確的。
我使用file = open("text.txt")
並在其上運行readlines()
以獲取文本。
爲了糾正這個錯誤,我試圖嘗試split()
分開的話,並把它們放在一個列表,然後根據需要重新整理它們,但在這種情況下,有可能是一個轉換錯誤,我收到垃圾字符。將這些UTF-8字符存儲到Python列表中並檢索它們時存在問題;字符不會被保留。
如果這個列表處理錯誤是固定的,那麼編寫XML文件應該是小菜一碟。
編輯:如果有幫助,語言是Dhivehi,字母是Thaana。
你看過['codecs.open'](http://docs.python.org/2/library/codecs.html#codecs.open)嗎?它*使用給定的模式打開一個編碼文件,並返回提供透明編碼/解碼*的包裝版本。 – miku
我嘗試使用編解碼器,它沒有幫助。句子中的單詞還在翻轉。 – arkate
那麼原始問題是什麼?拉丁字符顯示順序不正確?還是阿拉伯語?爲什麼你需要列表處理修復,如果它只是一個企圖破解? – Esailija