我已经开始学习perl,喜欢尝试新事物.
我在文本处理中有一些问题.
我有一些表格的文字,
0 1 2 3 4 5 6 7 8 9 10 6 7 3 6 9 3 1 5 2 4 6
我想转置这个文本.像我一样,我想把行作为列ans列作为行.有没有办法在perl这样做?
谢谢你们.
解决方法
所以这个解决方案使用一个数组的数组,每个嵌套数组
是一行数据.很简单,你循环了每一列的列
并使用列将它们推到另一个阵列上
索引作为将值推入的索引.这有效果
根据您的要求枢转数据.
是一行数据.很简单,你循环了每一列的列
并使用列将它们推到另一个阵列上
索引作为将值推入的索引.这有效果
根据您的要求枢转数据.
#!/usr/bin/env perl
my @rows = ();
my @transposed = ();
# This is each row in your table
push(@rows,[qw(0 1 2 3 4 5 6 7 8 9 10)]);
push(@rows,[qw(6 7 3 6 9 3 1 5 2 4 6)]);
for my $row (@rows) {
for my $column (0 .. $#{$row}) {
push(@{$transposed[$column]},$row->[$column]);
}
}
for my $new_row (@transposed) {
for my $new_col (@{$new_row}) {
print $new_col," ";
}
print "\n";
}
这导致:
0 6 1 7 2 3 3 6 4 9 5 3 6 1 7 5 8 2 9 4 10 6