Tôi đang cố gắng làm việc với một tập dữ liệu rất lớn có một số ký tự không chuẩn trong đó. Tôi cần sử dụng unicode, theo thông số kỹ thuật công việc, nhưng tôi gặp khó khăn. (Và hoàn toàn có thể làm sai.)
Tôi mở CSV bằng:
15 ncesReader = csv.reader(open('geocoded_output.csv', 'rb'), delimiter='\t', quotechar='"')
Sau đó, tôi cố gắng mã hóa nó bằng:
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])
Tôi đang mã hóa mọi thứ ngoại trừ lat và lng vì chúng cần được gửi tới một API. Khi tôi chạy chương trình để phân tích cú pháp tập dữ liệu thành những gì tôi có thể sử dụng, tôi nhận được Traceback sau.
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)
Tôi nghĩ rằng tôi nên nói với bạn rằng tôi đang sử dụng python 2.7.2 và đây là một phần của bản dựng ứng dụng trên django 1.4. Tôi đã đọc một số bài đăng về chủ đề này, nhưng không có bài nào trong số đó dường như áp dụng trực tiếp. Chúng tôi rất trân trọng bất kỳ sự giúp đỡ nào.
Bạn cũng có thể muốn biết rằng một số ký tự không chuẩn gây ra sự cố là Ñ và có thể là É.