回文筛选

本文介绍了一个使用Perl编写的脚本,该脚本用于处理表格数据并优化重复项。通过读取输入文件,脚本能够识别并处理重复的数据条目,最终输出优化后的数据对。此方法对于清理和标准化数据集特别有用。
^\(.*\)\t\(.*\)\t\S\+\t\S\+\(\n.*\)\+\n\2\t\1
#!/usr/bin/perl
use warnings;
use strict;

open IN,"<",$ARGV[0];
my $header=<IN>;
my %name_hash;
while(<IN>){
    chomp;
    my @line_list=split/\t/;
    $name_hash{"$line_list[0]$line_list[1]"}++;
}
close IN;

open INPUT,"<",$ARGV[0];
my $header2=<INPUT>;
print $header2;
while(<INPUT>){
    chomp;
    my @line_list=split/\t/;
    if(!($name_hash{"$line_list[0]$line_list[1]"} && $name_hash{"$line_list[1]$line_list[0]"})){
        print "$line_list[0]$line_list[1]\t$line_list[1]$line_list[0]\n";
    }else{delete $name_hash{"$line_list[1]$line_list[0]"}}
}

 

转载于:https://www.cnblogs.com/xlij1205/p/10589709.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值