如何将共享唯一 ID 的行合并到逗号分隔的表中

2024-01-13

我想请求一些关于如何将共享唯一 ID 的行合并到逗号分隔表中的提示。非常感谢 Perl、sed 或 awk 中的任何提示。

这就是我现在的表格的样子:

protein_id go_id
4102    GO:0003676
4125    GO:0003676
4125    GO:0008270
4139    GO:0008270

这就是我希望转换为的方式:

protein_id  go_id
4102    GO:0003676
4125    GO:0003676, GO:0008270
4139    GO:0008270

使用 Perl 数组哈希...

#!/usr/bin/perl
use warnings;
use strict;

my %data;
my $header;

while(<DATA>){
    chomp;

    if ($. == 1){
        $header = $_;
        next;
    }
    push @{ $data{(split)[0]} }, (split)[1];
}

print "$header\n";

for my $k (sort {$a<=>$b} keys %data){

    print "$k\t";
    print join(', ', @{ $data{$k} });
    print "\n";
}

__DATA__
protein_id go_id
4102    GO:0003676
4125    GO:0003676
4125    GO:0008270
4139    GO:0008270
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将共享唯一 ID 的行合并到逗号分隔的表中 的相关文章

  • 多维哈希排序 - Perl [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我真的需要一些帮助来理解这个哈希并对
  • 如何从 Unix 文件中删除空行

    我需要从输入文件中删除所有空白行并写入输出文件 这是我的数据如下 11216 33 1032747 64310 1 0 0 1 878 0 0 0 1 1 1 087 5 1 1 18 JAN 13 000603221321 11216 3
  • AWK 中多行的匹配正则表达式。 && 操作员?

    我不确定 运算符在正则表达式中是否有效 我想做的是匹配一行 使其以数字开头并具有字母 a 下一行以数字开头并具有字母 b 并且下一行 字母 c 该 abc 序列将用作开始读取文件的唯一标识符 这就是我在 awk 中想要的东西 0 9 a n
  • 如何比较两个文件中的多列并在找​​到匹配时从另一列检索相应的值

    我有两个文件 File1 txt 和 File2 txt 我需要将 File1 中的三列 1 2 和 3 分别与 File2 的 4 5 和 6 进行比较 如果找到匹配项 我想从 File2 的第 2 列中检索相应的值并将其粘贴到输出中 T
  • 如何为不同的 Perl 应用程序安装专门的环境?

    就功能而言是否有与 Python 相同或接近的东西虚拟环境 http pypi python org pypi virtualenv what it does 但是对于 Perl 来说呢 我已经用 Python 进行了一些开发 并且将非系统
  • 将以反斜杠结尾的行与下一行 awk 连接起来(来自著名的 awk 单行解释)

    这个练习来自于Peteris Krumins 的博客文章解释了 AWK 的俏皮话 http www catonmat net blog awk one liners explained part two 本质上是这条线 awk sub ge
  • 使用 sed 删除大括号对之间的所有内容

    我有一个看起来像这样的字符串 B F blue master F red f k b f k b K black B F green 我想删除匹配的子字符串 它可能包含也可能不包含相同顺序的其他子字符串 我应该得到 master 作为最终输
  • AWK:递归下降 CSV 解析器

    响应一个BASH 中的递归下降 CSV 解析器 https codereview stackexchange com questions 11727 need some advice or help with translation and
  • Perl 非贪婪

    我遇到非贪婪正则表达式 regex 的问题 我已经看到有关于非贪婪正则表达式的问题 但它们没有回答我的问题 Problem 我正在尝试匹配 lol 锚点的 href Note 我知道这可以通过 Perl HTML 解析模块来完成 我的问题是
  • 如何使用 Perl 更改 mysql 密码

    我需要使用 Perl 脚本更改一些 mysql 密码 以下内容在更改数据库条目时有效 但是当我针对 mysql 用户更改修改它时 它将它们重置为空白密码 最后 刷新权限 也很好 但我还没有找到方法 usr bin perl use DBI
  • 为什么我只得到第一个捕获组?

    https stackoverflow com a 2304626 6607497 https stackoverflow com a 2304626 6607497 and https stackoverflow com a 370042
  • 使用 Perl 获取 值

    因此 我有一个报告工具 可以在 HTML 文件中输出作业调度统计信息 并且我希望使用 Perl 来使用这些数据 但我不知道如何单步浏览 HTML 表 我知道如何使用 jQuery 来做到这一点 find tr each function v
  • 在perl中调用基本构造函数

    从 Perl 中的类构造函数调用基本构造函数的正确方法是什么 我见过这样的语法 my class shift my a shift my b shift my self class gt SUPER new a b return self
  • 在 Bash 中替换垂直线

    我很难完成我的脚本 因为这一部分没有按照我想要的方式运行 我的脚本中有这一行 cat home tmp temp1 txt awk gsub RS gsub RS print gt home tmp temp txt 效果很好 是的 但是当
  • AWK数组初始化

    是否可以使用常见的方法在AWK中初始化数组list syntax array val1 val2 val3 或者是否必须使用索引值 syntax array 0 val1 array 1 val2 array 2 val3 不 不 您可以这
  • 打包 Perl 应用程序,以便它可以在 Perl 的默认前缀之外工作

    我正在使用 Module Build 尽管我在构建环境上很灵活 来打包我正在编写的一些 Perl 软件 供我工作的内部使用 它包括一些脚本和一些辅助模块 我的计划是这样你就可以指定任何你想要的前缀 即perl默认值之外的东西 INC 在构建
  • 使用Perl/DBI/MySQL/InnoDB查找外键信息

    我想以编程方式查找 MySQL 数据库中特定 InnoDB 表的外键 我正在使用 Perl 我偶然发现 dbh gt foreign key info 我刚刚尝试使用它 但似乎有点错误 它不会返回 ON DELETE 和 ON UPDATE
  • 是否有理由在 Perl 中使用 open(...) 的双参数形式?

    是否有任何理由使用双参数形式open 在 Perl 中而不是三个或更多参数的版本 我能想到的唯一原因是明显的观察结果 即两个参数的形式更短 但是假设冗长不是问题 是否有任何其他原因会让您选择双参数形式open 一参数和二参数 open 应用
  • 从实时 tcpdump 捕获中提取唯一的 IP

    我使用以下命令从实时 tcpdump 捕获中输出 IP sudo tcpdump nn q ip l awk print 3 fflush stdout gt gt ips txt 我得到以下输出 192 168 0 100 50771 1
  • 在 Perl 中如何用空格填充字符串的一部分?

    你更喜欢哪个版本 usr bin env perl use warnings use strict use 5 010 my p 7 33 my prompt my key very important text my value Hell

随机推荐

  • 在 SQL 输出中插入双引号

    例如 在运行查询并查看输出后 select from People 我的输出如下 First Last Email Ray Smith email protected cdn cgi l email protection 我如何导出这些数据
  • 如何使用 JavaScript 检查文件是否存在?

    如何使用 JavaScript 检查文件是否存在 在本例中我想检查的是 xml 文件 如果您使用的是 jQuery 您可以尝试加载该文件 ajax type GET url some xml success function found e
  • 如何强制 pytest 写入颜色输出?

    即使在写入管道时 如何强制 pytest 以颜色显示结果 似乎没有任何命令行选项可以执行此操作 从 2 5 0 开始 py test 有这个选项 color yes 从 2 7 0 开始 还应该可以执行以下操作 export PYTEST
  • Spring 与 JSF 2 的比较 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何两两比较多次测量的增减?

    我有一个数据 我想通过取差值来两两比较测量值 如果差值大于 0 2 则添加另一列为 是 否则为 否 就像图像中的示例数据一样 并且 在每个人的最后 如果至少有一个 是 则最终结果为 是 我已手动填写第一行 但我想对我的所有个人 1000 个
  • Python 并删除列表列表中的重复项,无论列表中的顺序如何

    我已经搜索过 但没有找到与我相同的问题 我想从 python 中的列表列表中删除重复项 但是 我不在乎列表中值的顺序 我目前的做法太耗时了 我想做的事 A 1 2 3 2 3 4 3 4 5 3 2 4 我想搜索 A 并删除所有重复项 这里
  • 使用python同时向多个CC和多个TO收件人发送电子邮件

    分别尝试了多个 to 和多个 cc 效果很好 但是当我尝试两者时 出现错误 File 路径 Continuum anaconda2 envs mypython lib smtplib py 第 870 行 在 sendmail sender
  • std::string 用 bool 初始化

    考虑以下初始化 std string falseString false std string trueString true With g 5 2 0 编译器会抛出警告falseString 而错误为trueString With cla
  • 需要使用 R 从字符串列中提取单个字符

    背景 下面是我的gamedatadput 形式的数据集 它包含一些 MLB 比赛的比分 structure list team c NYM NYM BOS NYM BOS linescore c 010000000 10 1140006x
  • 如何在 Dhall 中将动态命名记录与静态记录合并?

    我正在 Dhall 中创建 AWS Step Function 定义 但是 我不知道如何创建他们使用的通用结构Choice如下例所示 Not Variable type StringEquals Private Next Public Th
  • 如何保存并添加游戏中获得的数值?

    我正在为我的游戏制作一个商店 我正在制作一个系统 我在游戏中获得的分数被保存 每次玩时它也会添加和保存 但这最后一部分不起作用我不知道为什么 我从另一个名为的脚本中获取一个变量score它收到我得到的值 并且必须将其添加到以前的值 但它不会
  • 如何计算销售范围内的排名

    如何计算销售级别定义的类别内的排名 假设我们希望将销售额高于某个阈值的产品标记为 高 类别 将低于该阈值的产品标记为 低 类别 这是一个示例数据 let Source Table FromRows Json Document Binary
  • 将 Vuetify 工具提示 (v-tooltip) 组件与外部激活器(即未包装)一起使用

    我了解如何使用 Vuetifyv 工具提示 https vuetifyjs com en components tooltips introduction工具提示包裹着组件 但是 我不太确定如何将激活按钮放在外面 例如我有这个 非工作代码
  • request.getServletPath() 从 Spring MVC 返回 null

    我做了一个过滤器来捕获HttpServletRequest所有请求的 servlet 路径 Override public void doFilter ServletRequest req ServletResponse res Filte
  • react-native-multiple-select 存储提交时选择的项目

    我正在使用react native multiple select并尝试创建一个下拉菜单 允许用户选择多个选项 然后将他们选择的选项记录到数组中 目前 我的代码是 onSelectedItemsChange selectedItems gt
  • 使用javascript检测设备CPU/GPU性能?

    这个问题并不特定于 Three js 但我会用它作为例子 我最近一直在使用 Three js 开发 Web 应用程序界面 并在 WebGL 和 Canvas 渲染器 针对桌面浏览器 之间编写了一些不错的后备程序 但现在的问题变成了如何正确检
  • C/C++ 中 \x 是什么意思?

    Example char arr xeb x2a BTW 以下内容相同吗 xeb x2a vs xeb x2a x表示十六进制字符转义 它用于指定不可输入的字符 例如 null x00 And xeb x2a 是一个文字字符串 类型是cha
  • git pull --rebase:传递 --rebase-merges

    这是我在重新调整当前分支的基础时通常会做的事情 同时防止本地分支变平 git fetch origin git rebase r origin develop r is rebase merges 我更喜欢 preserve merges
  • 从自定义键盘/谷歌键盘在 android 中的 Edittext 中插入图像/贴纸/gif

    我尝试使用 Google 键盘等键盘插入表情符号Gboard to my edittext但它显示吐司This text field does not support GIF insertion from the keyboard 有几个关
  • 如何将共享唯一 ID 的行合并到逗号分隔的表中

    我想请求一些关于如何将共享唯一 ID 的行合并到逗号分隔表中的提示 非常感谢 Perl sed 或 awk 中的任何提示 这就是我现在的表格的样子 protein id go id 4102 GO 0003676 4125 GO 00036