Python でファイルを読み込むときに文字化けが発生する際の解決方法
ファイルの文字コードが、コード指定の文字コードと異なる場合に文字化けが発生します。解決方法:
- open
- 彼は彼の従業員がうまくいき、成功するように支援するためにたくさんの努力をしました。
with open('file.txt', encoding='utf-8') as f:
# 读取文件内容
よく使われる文字コードには、utf-8 や gbk などがあります。
- 日本語にネイティブに言い換えると、chardet
- 文字コード検出
import chardet
def detect_encoding(file_path):
with open(file_path, 'rb') as f:
result = chardet.detect(f.read())
return result['encoding']
# 读取文件并指定编码格式
encoding = detect_encoding('file.txt')
with open('file.txt', encoding=encoding) as f:
# 读取文件内容
これにより、ファイルの内容から自動的にエンコーディング形式が検出され、ファイルが開かれるようになります。
- ファイルのエンコード形式が確定しない場合は、他のエンコードを使ってเปิดいてみたり、エラー処理をするなどしてみるとよいかもしれません。例えば:
encodings = ['utf-8', 'gbk']
for encoding in encodings:
try:
with open('file.txt', encoding=encoding) as f:
# 读取文件内容
break
except UnicodeDecodeError:
continue
そのようにして、ファイルを開くために様々なエンコード形式を試み、成功するまであるいはすべて失敗するまで続けます。
ファイル操作時は、ファイルの文字コードとコードの文字コードが一致していることを確認してください。一致していない場合、文字化けが発生する場合があります。