Saya mencoba bekerja dengan kumpulan data yang sangat besar yang memiliki beberapa karakter non-standar di dalamnya. Saya perlu menggunakan unicode, sesuai spesifikasi pekerjaan, tetapi saya bingung. (Dan sangat mungkin melakukan semuanya dengan salah.)
Saya membuka CSV menggunakan:
15 ncesReader = csv.reader(open('geocoded_output.csv', 'rb'), delimiter='\t', quotechar='"')
Kemudian, saya mencoba untuk menyandikannya dengan:
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])
Saya mengkodekan semuanya kecuali lat dan lng karena itu perlu dikirim ke API. Ketika saya menjalankan program untuk mengurai dataset menjadi apa yang dapat saya gunakan, saya mendapatkan Traceback berikut.
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)
Saya rasa saya harus memberi tahu Anda bahwa saya menggunakan python 2.7.2, dan ini adalah bagian dari aplikasi yang dibangun di atas django 1.4. Saya telah membaca beberapa posting tentang topik ini, tetapi tidak satupun dari mereka yang tampaknya secara langsung berlaku. Bantuan apa pun akan sangat dihargai.
Anda mungkin juga ingin mengetahui bahwa beberapa karakter non-standar yang menyebabkan masalah adalah Ñ dan mungkin É.