Sto tentando di lavorare con un set di dati molto grande che contiene alcuni caratteri non standard. Devo usare Unicode, secondo le specifiche del lavoro, ma sono sconcertato. (E molto probabilmente sbagliando tutto.)
Apro il CSV utilizzando:
15 ncesReader = csv.reader(open('geocoded_output.csv', 'rb'), delimiter='\t', quotechar='"')
Quindi, provo a codificarlo con:
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])
Sto codificando tutto tranne lat e lng perché questi devono essere inviati a un'API. Quando eseguo il programma per analizzare il set di dati in ciò che posso utilizzare, ottengo il seguente 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)
Penso di doverti dire che sto usando python 2.7.2 e questo fa parte di un'app costruita su django 1.4. Ho letto diversi post su questo argomento, ma nessuno sembra essere applicabile direttamente. Qualsiasi aiuto sarà molto apprezzato.
Potresti anche voler sapere che alcuni dei caratteri non standard che causano il problema sono Ñ e forse É.