Skip to main content
 首页 » 编程设计

python之从文本中提取特定信息

2025年05月04日7lyhabc

我想从文本文件中获取一些数据。我决定使用 Natural Language Toolkit 来做到这一点,但如果有更好的方法,我愿意接受建议。

这是一个例子:

I need a flight from New York NY to San Francisco CA.

从这篇文章中,我想获取出发地和目的地的城市和州。

这是我目前所拥有的:

import nltk 
from nltk.text import * 
from nltk.corpus import PlaintextCorpusReader 
 
def readfiles():     
    corpus_root = 'C:\prototype\emails' 
    w = PlaintextCorpusReader(corpus_root, '.*') 
    t = Text(w.words()) 
    print "--- to ----" 
    print t.concordance("to") 
 
    print "--- from ----" 
    print t.concordance("from") 

我可以从某些输入(在我的例子中是文件)中读取文本,然后使用 concordance method找到它的所有用法。我想提取“to”和“from”之后的城市、州信息。

问题是查看“to”和“from”之后的文本的最佳方式是什么?

请您参考如下方法:

也许你最好逐行阅读文件?
然后是一些简单的事情:

cityState = dataAfterTo.split(",") 
city = cityState[0] 
state = cityState[1].split()[0] 

当然,除非您要处理用户生成的内容。