Tôi muốn đọc tệp csv và xử lý một số cột nhưng tôi vẫn gặp sự cố. Bị mắc kẹt với các lỗi sau:'utf-8' codec không thể giải mã byte 0x89
Traceback (most recent call last):
File "C:\Users\Sven\Desktop\Python\read csv.py", line 5, in <module>
for row in reader:
File "C:\Python34\lib\codecs.py", line 313, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 446: invalid start byte
>>>
Mã My
import csv
with open("c:\\Users\\Sven\\Desktop\\relaties 24112014.csv",newline='', encoding="utf8") as f:
reader = csv.reader(f,delimiter=';',quotechar='|')
#print(sum(1 for row in reader))
for row in reader:
print(row)
if row:
value = row[6]
value = value.replace('(', '')
value = value.replace(')', '')
value = value.replace(' ', '')
value = value.replace('.', '')
value = value.replace('0032', '0')
if len(value) > 0:
print(value + ' Length: ' + str(len(value)))
Tôi là một người mới bắt đầu với Python, thử googling, nhưng khó có thể tìm ra giải pháp đúng.
Có ai có thể giúp tôi không?
bạn có thể chia sẻ tệp csv hoặc một phần của tệp không? – user1767754
Bạn có chắc chắn rằng tệp của bạn được * thực sự * được mã hóa với UTF-8 không? Hãy thử ''cp1252'' nếu tệp đến từ Excel ở một quốc gia phương Tây. Tất cả các mã hóa được hỗ trợ: https://docs.python.org/2/library/codecs.html#standard-encodings –
Tại sao bạn mở tệp dưới dạng UTF-8? Bạn có chắc chắn đó là codec chính xác cho tệp đó không? –