python - Python:从文件中分割句子
问题描述
我有一个像这样的文件 data.txt :
<<a
<<t This is a title 01
/t>>
<<c
This is a sentence. This is a sentence. This is a sentence. This is a sentence.
This is a sentence. This is a sentence. This is a sentence. This is a sentence.
/c>>
/a>>
<<a
<<t This is a title 02
/t>>
<<c
This is a sentence. This is a sentence. This is a sentence. This is a sentence.
This is a sentence. This is a sentence. This is a sentence. This is a sentence.
/c>>
/a>>
我想读取文件并将每个句子拆分为如下列表:
[[This is a title 01],[This is a sentence.],[This is a sentence.]...[This is a title 02],[This is a sentence.]...]
在此先感谢您的帮助。
解决方案
您可以尝试以下方法-
result = []
with open('data.txt', 'r') as f:
for line in f:
if "This is a title" in line:
cleaned_line = line.lstrip('<<t').strip()
result.append(cleaned_line)
elif line.startswith("This is a sentence"):
sentence_list = line.split('.')
for _ in sentence_list:
result.append(_)
这是如何工作的?
打开文件,逐行迭代。提取标题。条带<<t
和空格。
要提取句子,只需在句点 (.) 处拆分行字符串。然后将所有内容附加到result
列表中。
编辑:
注意:您最终将拥有一个字符串列表。由于您是 Python 新手,我将把它作为练习留给您,让您将字符串列表转换为列表列表。它应该非常简单。
推荐阅读
- reactjs - 如何在 Typescript 中获取提交按钮以将参数发送到我的端点,反应?
- android - 致命异常:java.lang.RuntimeException startPreview 失败
- javascript - 开玩笑测试没有通过参数
- python - 将 Xarray 文件合并到一个新维度中
- java - 有没有办法让枚举比 2746 值更大?
- ios - Xcode View Hierarchy 调试器不会在鼠标拖动时旋转视图
- reactjs - 如何在 React 中创建多项目滑块?
- xml - 编辑 XML 中多个主元素的多个子元素的多个属性
- php - 如何在 PHP PDO 中使用birth_date 检索所有 60 岁以上的人?
- sql - SELECT 中的 sql 连接