手机
当前位置:查字典教程网 >脚本专栏 >perl >perl对长度不一文本的行列进行置换的实现代码
perl对长度不一文本的行列进行置换的实现代码
摘要:有时遇到各行或各列的长度不一致时就麻烦了,虽然可以在R里面把文件按最长的行(列)填充,但是不便,所以想起用perl去实现一个。由逗号分隔的不...

有时遇到各行或各列的长度不一致时就麻烦了,虽然可以在R里面把文件按最长的行(列)填充,但是不便,所以想起用perl去实现一个。

由逗号分隔的不定长度的文本文件, 现要实现行列转置, 即由

复制代码 代码如下:

1,2,3,4,5,6,

7,8,9,

10,11,12,13,

转换为:

1,7,10,

2,8,11,

3,9,12,

4, ,13,

5, , ,

6, , ,

以下是完整的代码,供大家参考。

复制代码 代码如下:

#!/usr/bin/perl -w

my @matrix;

my $max_len = 0;

while(<DATA>){

chomp;

s/,$//g;

my @fields = split /,/, $_;

my $len = @fields;

$max_len = $max_len > $len ? $max_len : $len;

push @matrix, [@fields];

}

for my $col (0..$max_len - 1){

for my $line (@matrix){

print $line->[$col] || ' ', ',';

}

print "n";

}

__DATA__

1,2,3,4,5,6,

7,8,9,

10,11,12,13,

准备学习下,自己动手实现一遍,最好是做成模板,随调随用。

【perl对长度不一文本的行列进行置换的实现代码】相关文章:

Perl批量下载Gmail附件的代码

perl中my与our的区别介绍

perl实现的两个文件对比并对数据进行筛选的脚本代码

perl用grep map求交集、并集、补集的实例代码

perl 指定长度并生成一个随机的DNA序列的脚本代码

perl生成特定碱基比例的随机序列的代码

perl跳过首行读取文件的实现代码

perl常量、多维数组及变量的初始化的实例代码

使用Perl创建指定编码格式(如utf-8)文件的实现代码

perl上下文介绍

精品推荐
分类导航