Вероятно, это кодовая точка ZERO WIDTH NO-BREAK SPACE (U + FEFF), используемая в качестве метки порядка байтов (BOM) для файлов с кодировкой UTF16 и UTF32 и подписи для файлов с кодировкой UTF-8. Не удаляется .strip()
. Использование open('input.csv',encoding='utf-8-sig')
удаляет подпись, если она присутствует, при условии, что ваш .CSV закодирован в UTF-8. Другие варианты utf16
и utf32
. Они требуют спецификации и также удаляют ее, но, скорее всего, это UTF-8.
Используйте print(ascii(host))
, чтобы увидеть, какой персонаж на самом деле:
>>> host = '\ufeffBob'
>>> print(x)
Bob
>>> print(ascii(x))
'\ufeffBob'