
perl 行列转置,怎样将一组数据的行转化为列,列转化为行
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
#! /usr/bin/perl -w
use strict;
my @row;
my $max_len = 0;
my $txt=shift;
open IN,$txt or die $!;
while <IN> {
chomp;
my @fields = split /\t/, $_;
my $len = @fields;
$max_len = $max_len > $len ? $max_len : $len;
push @row, [@fields];
}
close IN;
for my $i (0..$max_len -1){
foreach (@row){
@$_[$i]||="";
print "@$_[$i]\t";
}
print "\n";
}
use strict;
my @row;
my $max_len = 0;
my $txt=shift;
open IN,$txt or die $!;
while <IN> {
chomp;
my @fields = split /\t/, $_;
my $len = @fields;
$max_len = $max_len > $len ? $max_len : $len;
push @row, [@fields];
}
close IN;
for my $i (0..$max_len -1){
foreach (@row){
@$_[$i]||="";
print "@$_[$i]\t";
}
print "\n";
}
追问
谢谢解答,但是本人还是perl菜鸟,请问可以解释以下push @row, [@fields];这一句是什么意思吗?以及后面的整个for的循环。感激不尽
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询