Ich versuche, mit einem sehr großen Datensatz zu arbeiten, der einige nicht standardmäßige Zeichen enthält. Ich muss Unicode gemäß den Jobspezifikationen verwenden, bin aber verblüfft. (Und möglicherweise alles falsch machen.)
Ich öffne die CSV mit:
15 ncesReader = csv.reader(open('geocoded_output.csv', 'rb'), delimiter='\t', quotechar='"')
Dann versuche ich es zu codieren mit:
name=school_name.encode('utf-8'), street=row[9].encode('utf-8'), city=row[10].encode('utf-8'), state=row[11].encode('utf-8'), zip5=row[12], zip4=row[13],county=row[25].encode('utf-8'), lat=row[22], lng=row[23])
Ich codiere alles außer lat und lng, weil diese an eine API gesendet werden müssen. Wenn ich das Programm ausführe, um den Datensatz in das zu analysieren, was ich verwenden kann, erhalte ich den folgenden Traceback.
Traceback (most recent call last):
File "push_into_db.py", line 80, in <module>
main()
File "push_into_db.py", line 74, in main
district_map = buildDistrictSchoolMap()
File "push_into_db.py", line 32, in buildDistrictSchoolMap
county=row[25].encode('utf-8'), lat=row[22], lng=row[23])
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd1 in position 2: ordinal not in range(128)
Ich denke, ich sollte Ihnen sagen, dass ich Python 2.7.2 verwende, und dies ist Teil einer App, die auf Django 1.4 basiert. Ich habe mehrere Beiträge zu diesem Thema gelesen, aber keiner von ihnen scheint direkt zuzutreffen. Jede Hilfe wird sehr geschätzt.
Vielleicht möchten Sie auch wissen, dass einige der nicht standardmäßigen Zeichen, die das Problem verursachen, Ñ und möglicherweise É sind.