我希望我不要打扰任何人,因为它类似于已经提出的问题。 不过,我的问题是我没有找到txt文件的答案,而只找到了与BeautifulSoup一起工作的html / xml。另一个问题给出了Java的答案,但我只使用Python。
所以我有几个文本文档,我想为每个文本获取每个段落的第一句。
我想通过以下方式打开并阅读文字:
speech1_content = open("1789-04-30-George-Washington.txt", "r")
将是第一步,但是我没有找到任何答案可以使我进一步前进。 想法是在txt文件中包含一个段落:
在生活中的沧桑之中,没有任何事情比让您的订单在本月的第14天收到通知更使我感到焦虑。一方面,我被我的国家召唤,我以崇高的偏爱选择了一个静修之地,以他的崇高与爱心,他的声音我却永远听不见,但我却以ter媚的希望,以一成不变的决定,被选为我的祖国。我衰落的岁月的庇护所–一种撤退行动,由于倾向于养成习惯,以及由于时间造成的逐渐浪费,我的健康经常受到干扰,因此每天变得更加必要和珍贵。
但仅将此作为输出:
在生活中的沧桑之中,没有任何事情比让您的订单在本月的第14天收到通知更使我感到焦虑。
非常感谢您的帮助。
答案 0 :(得分:0)
这为您提供了存储每行第一句的字符串列表:
speech1_lines = speech1_content.readlines()
speech1_first_sentences = [line.split('.')[0] for line in speech1_lines]
然后您可以打印列表
print(speech1_first_sentences)
或对其进行迭代
for sentence in speech1_first_sentences:
print(sentence)
答案 1 :(得分:0)
所以我想您需要读取文件,直到第一个换行符('\ n')。
在Python中,我们更喜欢使用以下方式打开文件:
with open(filename) as f:
lines = f.readlines()
现在,一行直到第一个换行符为止。前几段只是行([0])的第一元素,也是第一行。可以通过在字符串上用callind find函数获得。就您而言:
eos = lines[0].find('.')
first_sentence = lines[0][0:eos]
如果您需要更复杂的句子查找器,则应该看看NLTK。