python - 提取 UD 语料库中的特定列
问题描述
我有一个文本文件:
1 This D
2 is V
3 one A
4 example
5 . P
1 This D
2 is V
3 another
4 example
我想提取第二列附加到由换行符分隔的列表expected output: ["this is one example", "this is another example"]
with open("data.txt","r") as f:
print(f.read().split()[1])
但我只得到输出This
。我该怎么做??获取 UD 语料库中的特定列(在本例中为句子)。
解决方案
f.read()
将整个文件作为字符串读取。
from itertools import groupby
with open("data.txt", "r") as f:
lines = f.read().splitlines()
second_column = [line.split()[1] if line else "\n" for line in lines]
words_list = [list(group) for k, group in groupby(second_column, lambda x: x == "\n") if not k]
sentences = [" ".join(words) for words in words_list]
f.read().splitlines()
删除换行符并将行拆分为列表。groupby()
按 拆分列表\n
。
推荐阅读
- r - 显示 html 元数据时如何解决 Jupyter R 笔记本的“奇怪的滚动框”显示问题?
- r - 带有研究站点的 getNOAA.bathy 显示了不应该出现在陆地上的站点。因此无法计算站点之间的水距离
- c# - 如何在 Visual Studio 2022 C# 编辑器中取消加粗静态方法?
- python - Python - 使用 PyPDF2 合并具有相同前缀的 PDF 文件
- java - from vs fromUnfiltered with nullable variable - Optaplanner
- sql - 多个表上的 SQL sum-function 和 count-function 产生相乘的值
- html - 是否可以让嵌入的 SVG 图像/对象表现得像内联图像/对象(拉伸/收缩到其容器大小)?
- python - 如何将时间字符串列表增加一天?
- reactjs - 反应组件组成但令人困惑
- angular - 如何根据条件禁用角度工具提示