如何以正确的顺序从docx文件中提取阿拉伯语/波斯语(rtl)文本

时间:2019-05-04 11:47:10

标签: python text right-to-left

我正在尝试从某些docx文件中提取大量文本并将其存储在.txt文件中。

我使用的语言是波斯语/阿拉伯语(它们是从右到左的语言),所以我很难使用python-docx。我无法以适当的形式提取文本,它们全部混入.txt文件中。

提取形式= https://pasteboard.co/Id8jj7g.jpg

原始表格= https://pasteboard.co/Id8jv1i.jpg

import docx

doc = docx.Document('1.docx')
text_file = open('data.txt','w', encoding='utf8')


print(len(doc.paragraphs))

for txt in doc.paragraphs:
    text_file.write(txt.text+'\n')

1 个答案:

答案 0 :(得分:1)

我认为首先需要定义适当的形式。如果您正在从事NLP项目,则需要句子和句子中的每个单词。我认为以下代码有助于从docx文件中提取文本。 (Python 2.7)

# library (using pip for installing the libraries)
import docxpy
import codecs

# read Input file : Input.docx
file = 'Input.docx'

# extract text from file 
text = docxpy.process(file)

# save the extracted text to a text file 
output_txt = codecs.open('Input.txt','w','utf-8')
output_txt.write(text)
output_txt.close() 

阅读docxpy文档以获取更多信息: docxpy website