私はdictsのリストをlatin-1でエンコードされたファイルに出力しようとしています。各フィールドには、ASCII文字254によって分離されると、行の最後には、私は128よりも大きい文字を使用しようとすると、私はこれが私です「UnicodeDecodeError: 'ascii' codec can't decode byte 0xfe in position 12: ordinal not in range(128)
」Pythonの文字にASCII番号を使用する
を取得ASCII文字20
する必要があります現在のコード。 ASCIIのchar 254をエンコードする方法と、DictWriterを使用するときに行末のASCII char 20を追加する方法を教えてください。
おかげ 私のコード:
with codecs.open("test.dat", "w", "ISO-8859-1") as outputFile:
delimiter = (chr(254))
keys = file_dict[0].keys()
dict_writer = csv.DictWriter(outputFile, keys, delimiter=delimiter)
dict_writer.writeheader()
for value in file_dict:
dict_writer.writerow(value)
オープンファイル 'でファイル=( "test.txtの"、 "W"、「UTF codecs.open -8 ")'。 – EbraHim
可能であれば、Python 3を使用してください。 – mhawke
Python2.xを使用していることを確認できますか? Python2と3はここでは異なるイディオムを持っています... –