2017-07-07 112 views
-1

我总共有900个“.txt”和“.htm”文档。每个文件有4段。每份文件都有一个理由说明公司为什么从交易中除牌。我只需要从所有文件中找出原因。公司暂停的原因通常是在“因为”和“为”之类的词之后。我如何从python的所有文档中挖掘原因?我是python的新手,任何帮助将不胜感激使用Python进行文本挖掘

+0

首先测试你的假设。由于“* .txt |”运行类似'grep -v“的内容wc -l'来计算不包含“因为”短语的文本文件的数量。依靠像“as”这样的短语可能是一个坏主意。 – Jedi

回答

0

如果文档https://www.crummy.com/software/BeautifulSoup/bs4/doc/

:是纯粹的文本文件不包括HTML标记,如果你想解析HTML内容,这可能会围绕提取的原因进行更有条理,看看BeautifulSoup那么基本的正则表达式会做你的工作

正则表达式示例(?<=This is)(.*)(?=sentence)

试试您的正则表达式在线python在这里:https://regex101.com/

+0

Hi @Fabien,他们是没有html内容的普通文件。如果可能,你能提供一个示例代码吗? –

+0

是的,我更新了我的答案。 – Fabien

1

如果你知道暂停遵循特定的话,那么这可以用正则表达式来完成。我在几分钟内为你做了一些示例代码。对于初学者,在下面的代码中开始学习你不知道的内容。

from os import listdir 
import re 

for filename in listdir(directory): # directory = filepath to directory 
    with open(filename, "r") as file: # where your documents are located at 
     contents = file.read() 
    possibleSuspension = re.findall(r'(because of)[\w, ]*', contents)