Вы получаете ошибку 0x8f, потому что там есть символ, который не является символом Юникода. Проверьте, как текстовый файл сохраняется в блокноте, это может быть ANSI, а не UTF-8.
Кроме того, я бы сделал пару вещей по-другому.
Сначала используйте re.search, а не просто внутри. Вы получите лучшие результаты, и если позже вы захотите добавить больше детализации, например, только целых слов, ее легко обновить.
Во-вторых, используйте настоящую библиотеку Excel, такую как openpyxl, и то же самое для docx, например docx (это название библиотеки). Редакторы отдают нам их в виде простого текста, но они хранятся в виде закодированных файлов большего размера. Попытка проработать их с помощью fileinput, не рассматривая их как таковые, может привести к путанице. Вы можете выбрать, какую библиотеку использовать, основываясь на имени файла, так что у вас все еще есть возможность повторного использования, но теперь вы используете правильный инструмент для работы.