Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 20, 2017 15:28:08

may042
Зарегистрирован: 2017-12-20
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

как обработать нечитаемые символы ?

избранное
есть файл формата csv. В нём есть символы в какой-то неведомой кодировке. Задача тупо удалить их и сделать информацию читаемой.

file.read() - выдаёт ошибку: UnicodeDecodeError: ‘charmap’ codec can't decode byte 0x98 in position 18068: character maps to

csv.reader(tsvin, delimiter='\t') - тоже фэйлится (ещё раньше). Попытки читать в какой-то конкретной кодировке, приводят к ухудшению результата.

Соответственно вопрос как можно обработать (удалить , проигнорировать) символ если программа вылетает при его прочтении?

Попробовал через try/except - они ничего не дают , программа всё равно прекращает работу при ошибке.
Файл прилагаю.

Прикреплённый файлы:
attachment r.csv (968,5 KБ)

Офлайн

#2 Дек. 20, 2017 15:46:51

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

как обработать нечитаемые символы ?

  
>>> import csv
>>> 
>>> f = open('r.csv', encoding='utf-8', errors='ignore')
>>> r = csv.reader(f, delimiter=';')
>>> lst[:2]
[['train_id', 'name', 'item_condition_id', 'category_name', 'brand_name', 'price', 'shipping', 'item_description'], ['0', 'MLB Cincinnati Reds T Shirt Size XL', '3', 'Men/Tops/T-shirts', '', '10', '1', 'No description yet']]
>>> f.close()
>>>



Офлайн

#3 Дек. 20, 2017 16:23:52

may042
Зарегистрирован: 2017-12-20
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

как обработать нечитаемые символы ?

СПСИБО!!!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version