int?
Есть вот такая строка 8\xa0999, которую мне нужно преобразовать в int, но если я пропишу
.replace('\xa0','\xc2\xa0' ).replace('\xc2\xa0', ' '), то выбивает вот эту ошибку:
ValueError: invalid literal for int() with base 10: '8 999', а если вот так:
.replace('\xa0','\xc2\xa0' ).replace('\xc2\xa0', '')
То вот эту:
ValueError: invalid literal for int() with base 10: ''
Что можно было бы сделать?
Вот строка которую нужно преобразовать:
int(row['Price MTI'].replace('\xa0','\xc2\xa0' ).replace('\xc2\xa0', ' '))
8 999 это какое число? 8 или 999?
Да, число: 8 999
Не понимаю. 8 это число, 999 тоже число. 8 999 это два числа
Нужно получить число int(8999)
думаю, ему нужно 8999
Ну тогда зачем ты заменяешь на какие-то левые символы? Заменяй сразу на пустую строку
a0 это вроде неразрывный пробел?
не получается, делаю вот так: int(row['Price MTI'].replace('\xa0','' )) Пишет: ValueError: invalid literal for int() with base 10: ''
а c2 это что? диакритика какая-нибудь?
Ну так там видимо пустая строка осталась
а зачем?
Вот отсюда взял вариант
Я вообще не понял
Хуйня какая-то не имеющая отношения к исходной проблеме
так там с кодировкой беды
Понял, а что делать с этой ошибкой:
Отдельно обрабатывать пустые строки
Сейчас попробую
Это второй питон что ли ещё на скрине?
может его как CP-1251 прочитали
ну может в файле был записан utf8, его прочитали cp1251 и теперь пытаются поправить
Обсуждают сегодня