2015-11-08 2 views
1

Я пытаюсь загрузить сообщения электронной почты, которые я скопировал в Rtf файлы (как мой обучающих данных) я загрузить каталог, содержащий файлы, используя sklearn модуль и команду:Python нагрузки неизвестные символы, загруженные в sklearn

sklearn.datasets.load_files 
    corpus = sklearn.datasets.load_files(<path>,shuffle = False) 

Когда я пытаюсь распечатать corpus.data, первые 6000 символов или около того - \ x00 \ x00 \ x00 \ x01Bud1 \ x00 \ x00 \ x10 \ x00 \ x00 \ x00 \ x08. Затем отображается фактический текст сообщения, но переплетены такие символы, как: \ cf0 \ expnd0 \ expndtw0 \ kerning0 \ nHey, \\ в середине текста. Я хочу упомянуть, что в каком-то тексте есть немецкие персонажи, а также английский.

В чем проблема?

Лучшие Ok

ответ

0

В документации для этой функции говорит

If you leave encoding equal to None, then the content will be made of bytes instead of Unicode, and you will not be able to use most functions in sklearn.feature_extraction.text.

Не зная кодировку файлов вы можете попробовать

sklearn.databases.load_files(<path>,shuffle = False, encoding='utf-8') 
+0

спасибо за ответ. Ошибка после добавления utf-8 - UnicodeDecodeError: кодек «utf8» не может декодировать байт 0x80 в позиции 3131: недействительный стартовый байт. Я попытался сохранить файл rtf как utf-8, но ничего не изменил. Когда я пытаюсь загрузить txt-файл, данные пустые. – OAK

+0

try' encoding = 'latin-1', это вторая по распространенности кодировка (по умолчанию по умолчанию) – maxymoo

+0

Я пробовал это и windows-1252, но не дал другого результата. Я попытался добавить «load_content = True, encoding = 'utf-8» во все комбинации кодировок, но ничего не изменилось. Сценарий - utf-8, rtf-файлы - это первоначально электронные сообщения. Я использую OS X. – OAK

Смежные вопросы