Как извлечь текст из .docx с таблицами в Python - PullRequest
0 голосов
/ 12 апреля 2020

Файл .docx, который у меня есть, содержит таблицы, заголовки и т. Д. c. и мне было интересно, как я могу извлечь текст из этого документа. Единственный пример кода, который я смог найти, использует абзацы, и он не работает с моим файлом.

Вот код:

    doc = docx.Document(self.filename)
    fullText = []
    for para in doc.paragraphs:
        txt = para.text.encode('ascii', 'ignore')
        fullText.append(txt)
    self.text = '\n'.join(fullText)

Когда я запускаю этот код, я получаю эту ошибку :

 File "annotatorConnections.py", line 75, in openFile
    self.text = '\n'.join(fullText)
TypeError: sequence item 0: expected str instance, bytes found

1 Ответ

0 голосов
/ 12 апреля 2020

Поскольку вы получаете байт-тип вместо строкового типа в вашем полном тексте, вы можете использовать это, чтобы заставить это работать:

doc = docx.Document(self.filename)
fullText = []
for para in doc.paragraphs:
    txt = para.text.encode('ascii', 'ignore')
    fullText.append(txt)
self.text = b'\n'.join(fullText)             ---------> Add prefix b to make it a byte object.
...