首页 > 解决方案 > 如何从 docx 文件中提取数据?

问题描述

我想在 docx 文件中查找段落、句子、单词和 uniq 单词的数量。我已经安装了 python-docx 和 nltk。我尝试了很多东西,但没有任何效果,我现在没有想法。

例如,这给了我 uniq 字母而不是唯一的单词:

def getText(filename):
    doc = docx.Document(filename)
    fullText = []
    for para in doc.paragraphs:
        fullText.append(para.text)
    return '\n'.join(fullText)

letexte = getText('demo.docx')
#print(letexte)

dist = FreqDist(letexte)
vocab = dist.keys()

print(len(dist))
print(vocab)

反正……我迷路了。

你能用一个超过 4 页的随机 demo.docx 来展示你是如何做到的吗?谢谢你

标签: pythonpython-docx

解决方案


要查找文本中的唯一单词,您可以使用简单的 python 脚本,只需将结果传递getText()给它,您将获得仅包含唯一项目的列表。从此列表中,您可以获得申请的唯一项目的数量len()

import re

...

def count_unique_words(text_string):
    word_list = re.split('; |, |\*|\n |\s', text_string)
    return list(dict.fromkeys(word_list))

...
print(len(count_unique_words(letexte))

推荐阅读