DOCX файл в Python в правильном формате
У меня есть файл DOCX, созданный FineReader (FineReader берет файл PDF и создает текстовый файл с текстом из PDF). Теперь я хочу прочитать файл, используя python3. Я использовал:
with open('file.docx') as file:
for line in file:
print(line)
и это был результат:
at \'ed og \'fd \'fattalast uj; at \'f3 \'fattalast sum ou og \'fa sum yv, ei sum aj, at g og k hava
вот как выглядит текст в файле docx, когда я открываю его в текстовом редакторе:
at í og ý úttalast uj; at ó úttalast sum ou og ú sum yv, ei sum aj, at g og k hava
Любая идея, как исправить эту проблему кодирования?
Btw. Я также попробовал следующее:
with open('file.docx', encoding='latin-1') as file:
for line in file:
l = line.encode("utf-8")
print(l)
и это был результат:
at \\'ed og \\'fd \\'fattalast uj; at \\'f3 \\'fattalast sum ou og \\'fa sum yv, ei sum aj, at g og k hava
И я попробовал это:
import unicodedata
with open('file.docx') as file:
for line in file:
unicode = unicodedata.normalize('NFC', line)
print(unicode)
и получил:
at \'ed og \'fd \'fattalast uj; at \'f3 \'fattalast sum ou og \'fa sum yv, ei sum aj, at g og k hava
1 ответ
Проблема была решена открытием документа со следующим:
import unicodedata
import docx
doc = docx.Document("file.docx")
for p in doc.paragraphs:
unicode = unicodedata.normalize('NFC', p.text)
print(unicode)