Python 对文本文件中以制表符分隔的列中的文本进行分类

Python 对文本文件中以制表符分隔的列中的文本进行分类,python,bash,python-3.x,filter,classification,Python,Bash,Python 3.x,Filter,Classification,我有一个文本文件,如: 我想检索前两列分开的选项卡,因此我使用了以下方法: cut -f 1-2 input.txt > output.txt 真是太棒了 现在,我希望在第二列中包含组织,在第一列中包含特定单词的行,即,对于每一行,如果第二列表示组织,请检查第一列是否包含单词“University”、“School”、“College”等,如果是,请将其写入输出文件 有没有办法通过修改以下代码或用python编写新代码来实现这一点 cut -f 2-3 input.txt > ou

我有一个文本文件,如:

我想检索前两列分开的选项卡,因此我使用了以下方法:

cut -f 1-2 input.txt > output.txt
真是太棒了

现在,我希望在第二列中包含组织,在第一列中包含特定单词的行,即,对于每一行,如果第二列表示组织,请检查第一列是否包含单词“University”、“School”、“College”等,如果是,请将其写入输出文件

有没有办法通过修改以下代码或用python编写新代码来实现这一点

cut -f 2-3 input.txt > output.txt
输出应如下所示:

University of Phoenix   ORGANIZATION
Victor Valley Junior College    ORGANIZATION

您可以使用
sed

cut -f 1-2 file.txt | sed -n '/(Business|University).*ORGANIZATION/p' > output.txt

这应该匹配包含企业、大学和组织的所有行,并打印它们(
p
)。

您可以使用
sed

cut -f 1-2 file.txt | sed -n '/(Business|University).*ORGANIZATION/p' > output.txt
这应该匹配包含企业、大学和组织的所有行,并打印它们(
p

如果第一列包含大学业务,而最后一列包含组织,则打印该行。这里是最后一列,但第二列,实际的最后一列是逗号/句号

*在这里,您可以更改列号以获得所需的结果。这只是
awk
方式或写入条件

如果第一列包含大学业务,而最后一列包含组织,则打印该行。这里是最后一列,但第二列,实际的最后一列是逗号/句号



*在这里,您可以更改列号以获得所需的结果。这只是
awk
方式或写入条件

预期产量是多少?试试这个,可能会有帮助。
awk'$2~/ORGANIZATION/&&&$1~/University | School/'inputfile
为什么这个标签是python?@PS.-不起作用。@ChristianW.-如果不能通过修改这个问题来解决,我想要一个python解决方案。您需要向问题添加示例输出,以确保在这里回答问题的人不会浪费您和他们的时间。预期的输出是什么?试试这个,可能会有帮助。
awk'$2~/ORGANIZATION/&&&$1~/University | School/'inputfile
为什么这个标签是python?@PS.-不起作用。@ChristianW.-如果不能通过修改这个来实现,我想要一个python解决方案。您需要向问题添加示例输出,以确保在这里回答问题的人不会浪费您和他们的时间。因为该专栏中应该包含“学院”。举一个例子,第一列包含“college”,最后一列包含“ORGANIZATION”,但无法打印该行。不适用于此:Victor Valley初级学院组织。整个维克多谷初级学院是第一列,组织由制表符分隔。因为这里的第一列是“维克多”,而不是学院。大学是第四栏。我的评论对你有意义吗?我不想浪费你的时间。是的,我认为你的输入没有正确的制表符分隔。我可能错了。请尝试
awk-F$'\t'{print$1}'
awk-v FS=$'\t'{print$1}'
它将打印错误的数据。因为该列中应该有“college”。举一个例子,第一列包含“college”,最后一列包含“ORGANIZATION”,但无法打印该行。不适用于此:Victor Valley初级学院组织。整个维克多谷初级学院是第一列,组织由制表符分隔。因为这里的第一列是“维克多”,而不是学院。大学是第四栏。我的评论对你有意义吗?我不想浪费你的时间。是的,我认为你的输入没有正确的制表符分隔。我可能错了。请尝试
awk-F$'\t'{print$1}'
awk-v FS=$'\t'{print$1}'
它将打印错误的数据。
 awk -F"/t" '$1 ~ /University|Business/ && $(NF-1) ~ /ORGANIZATION/' as
Business Administration ORGANIZATION    ,
University of Phoenix   ORGANIZATION    .