python - 如何从重复值列表中获取唯一值集

标签 python perl parsing

我需要解析一个大型日志文件(平面文件),其中包含两列值(A 列、B 列)。

两列中的值重复。我需要找到 column-A 中的每个唯一值,我需要找到一组 column-B 值。

这可以使用 unix shell 命令完成还是需要编写任何 perl 或 python 脚本?有哪些方法可以做到这一点?

示例:

xxxA 2
xxxA 1
xxxB 2
XXXC 3
XXXA 3
xxxD 4

输出:

xxxA - 2,1,3
xxxB - 2
xxxC - 3
xxxD - 4

最佳答案

Perl 'one-liner' 旨在/扩展以便所有内容都适合窗口:

$ perl -F -lane '

      $hash{ $F[0] }{ $F[1] }++;
  } END {

      for my $columnA ( keys %hash ) {

          print $columnA, " - ", join( ",", keys %$hash{$columnA} ), "\n";
      }
  '

如果我看到原始发布者的一致尝试,将进行解释。

关于python - 如何从重复值列表中获取唯一值集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4976964/

相关文章:

python - 如何在 jupyter 笔记本中运行 Spark-Submit?

python - 从具有特定长度的文件单词中提取

c++ - 如何在 C++ 中解析带有空格的文件?

python - 在 Python 中实现 "title formatting"

python - 将剩余连接添加到简单的 CNN

python - setup.py 安装与 pip 安装

perl - 为什么这个 reduce {} 没有按预期返回最大值?

mysql - 抛出“不是数组引用”错误

perl - 无法从 CPAN (Perl) 安装

java - 将字符串解析为时间使得 01 :00:00