Проблема с кодировкой при использовании формата документов Microsoft (.doc) - PullRequest
0 голосов
/ 13 марта 2019

Я столкнулся с проблемой кодировки в python. Я делаю следующие вещи по порядку

  1. Я конвертирую формат .doc в формат .docx
  2. Я конвертирую .docx в XML, используя распаковку
  3. Я анализирую полученный XML с помощью регулярного выражения. Я печатаю содержимое в фрейме данных Pandas.

Когда я печатаю содержимое кадра данных в файл csv, я вижу некоторые странные символы, такие как 'rectangular box'. В необработанном файле я вижу символ '\uFOB3'.

Как я могу решить эту проблему?

Я работаю в ОС Ubuntu 16.04 с python 3.

# 1 convert doc to docx & save the file in DOCXFILENAME  
if filename.endswith('.doc'):
    subprocess.call(['soffice', '--headless', '--convert-to', 'docx', filename])

# 2 Unzip the DOCX file TO its xml contents. Rename 'document.xml' to XMLFILENAME.
subprocess.call(['unzip','-o',DOCXFILENAME,'-d','.'])   

# 3 Convert XML to string for using in regular expression
xmlf = xml.dom.minidom.parse(XMLFILENAME)
xml_string = xmlf.toprettyxml()

Я использую xml_string для дальнейшей обработки с использованием регулярных выражений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...