Я столкнулся с проблемой кодировки в python. Я делаю следующие вещи по порядку
- Я конвертирую формат .doc в формат .docx
- Я конвертирую .docx в XML, используя распаковку
- Я анализирую полученный 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
для дальнейшей обработки с использованием регулярных выражений.