python 讀取txt中文文字

2021-07-28 16:35:44 字數 562 閱讀 8845

txt文字的儲存形式有四種ansi,utf-8,unicode,unicode big endian。後面兩種比較少見,說說前面兩種吧。

普通的開啟檔案的操作是這樣的:

# -*- coding: utf-8 -*-

path=u"輸入你的路徑"

f=open(path)

text=f.readlines()

當txt檔案為ansi格式時,需要如下轉換:

for i in text:

print i.decode("gbk")

或者 text =[i.decode("gbk") for i in text] 此時不會出現以下類似utf-8格式的不可見字元

當txt檔案為utf-8格式時,你會發現讀取第一行的時候是可以讀取的,但是匹配不了,原因是乙個以utf-8編碼的檔案時,會在檔案開始的地方插入三個不可見的字元(0xef 0xbb 0xbf,即bom),所以需要如下轉換:

import codecs

if text[0][:3] == codecs.bom_utf8: 

text[0] = text[0][3:] 

BufferedReader讀取中文文字亂碼

今天測試lucene構建索引時需要從文字中讀取資料,使用bufferreader獲取文字資料返回亂碼。如下 public static void main string args public static string filetostring file file bufferedreader.c...

Python3 讀取中文檔案txt編碼問題

嘗試用python寫乙個wordcloud的時候,出現了編碼問題。照著網上某些部落格的說法添添改改後,結果是變成了 unicodedecodeerror utf 8 codec can t decode byte 這個錯誤。搗鼓了一天啊,txt 此處為本人現下內心表情 最後,乾脆寫個最簡單的檔案讀取...

python讀取中文檔案亂碼

近期在使用python對中文檔案進行讀寫操作時,發現讀入的中文檔案出現亂碼現象,如圖 後查閱相關資料發現,python預設使用的uascii編碼,而中文需要使用unicode編碼,因此需要對讀入的中文進行格式轉換。轉碼命令為 或者 此時,讀入的文字型別為unicode型別。如果讀入的文字中包含部分資...