我想从文本文件中获取一些数据。我决定使用 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]
当然,除非您要处理用户生成的内容。
关于python - 从文本中提取特定信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8657670/