Временный файл в памяти для преобразования python do c в docx - PullRequest
0 голосов
/ 14 июля 2020

У меня много файлов do c, которые мне нужно преобразовать в Dataframes. Мои файлы do c нельзя преобразовать напрямую, потому что я получаю сообщение об ошибке: Test.doc' is not a Word file, content type is 'application/vnd.openxmlformats-officedocument.themeManager+xml. Если я конвертирую свои файлы do c в docx, я могу извлечь данные в фрейм данных.

Проблема в том, что для используемой мной функции требуется путь к файлу docx (output_file) для преобразования и Мне нужно удалить файл docx с помощью кода в конце. Я бы предпочел хранить данные docx в памяти и извлекать из них данные в фрейм данных. Я пробовал BytesIO, IOBase, NamedTemporaryFile, Temporary zip et c. безуспешно.

Если есть способ напрямую преобразовать do c в фрейм данных, это упростит задачу (я пробовал большинство популярных библиотек) или, пожалуйста, дайте мне знать временный вариант файла. Свою функцию прикрепляю ниже.

word = comtypes.client.CreateObject('Word.Application')
doc = word.Documents.Open(input_file)
doc.SaveAs(output_file, FileFormat=16)
return_dataframe = docx_to_dataframe(output_file)
doc.Close()
word.Quit()
os.remove(output_file)
...