を働いていない私はこのコードを持ってPythonのコーデックはエンコーディング
import collections
import csv
import sys
import codecs
from xml.dom.minidom import parse
import xml.dom.minidom
String = collections.namedtuple("String", ["tag", "text"])
def read_translations(filename): #Reads a csv file with rows made up of 2 columns: the string tag, and the translated tag
with codecs.open(filename, "r", encoding='utf-8') as csvfile:
csv_reader = csv.reader(csvfile, delimiter=",")
result = [String(tag=row[0], text=row[1]) for row in csv_reader]
return result
私が読んでいるCSVファイルには、ポルトガル語(ブラジル)文字が含まれています。これを実行しようとすると、エラーが発生します。
'utf8' codec can't decode byte 0x88 in position 21: invalid start byte
私はPython 2.7を使用しています。ご覧のとおり、私はコーデックでエンコードしていますが、動作しません。
アイデア?
ファイルがUTF-8として保存されていない可能性がありますか? – zvone
'encoding = 'utf-8''を' encoding =' cp1252''に変更してみてください。私たちは、データを見ることなく多くを伝えることはできません。 – wim
それらの人は何を言った。あなたが強制しない限り、WindowsはUTF-8を使用しません。開いている任意のランダムファイルは、現在のWindowsコードページでエンコードされる可能性が最も高いでしょう。あなたは 'encoding = 'mbcs''を使って、それが何であるかを知らなくてもそれを得ることができます。 –