Ich versuche, eine Liste von Dicts zu Datei, die in Latin-1 codiert ist, zu drucken. Jedes Feld ist durch ein ASCII-Zeichen 254 und dem Ende der Leitung getrennt werden sollten 20.Verwenden von ASCII-Nummer zu Zeichen in Python
ASCII-Zeichen sein, Wenn ich versuche, um ein Zeichen zu verwenden, die größer als 128 ist I „UnicodeDecodeError: 'ascii' codec can't decode byte 0xfe in position 12: ordinal not in range(128)
“
bekommen Dies ist mein aktueller Code Könnte mir jemand helfen, wie man ein ASCII-Zeichen 254 codiert und ein Ende der Zeile ASCII-Zeichen 20 bei Verwendung von DictWriter hinzufügt.
Dank mein Code:
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)
Öffnen Sie die Datei mit 'file = codecs.open ("test.txt", "w",„utf -8 ")". – EbraHim
Verwenden Sie Python 3, wenn Sie können. – mhawke
Können Sie bestätigen, dass Sie ein Python2.x verwenden? Python2 und 3 haben verschiedene Idiome hier ... –