码迷,mamicode.com
首页 > 微信 > 详细

perl 编写execl读写小程序收获——小小白

时间:2018-09-23 18:08:08      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:特殊   换行符   方便   nbsp   reac   format   错误   x64   [1]   

1.use strict 声明

表明在使用变量前需事先声明,即my $var或my @var,否则脚本运行会报错;但网上都说,use strict 能帮忙发现错误,建议加上。

2.<>

钻石操作符,是行输入操作符的特例,是从用户指定位置读取,可指定输入文件;

3.chomp

作用于variable 或 list,负责删除标量型变量中的最后一个字符,或者数组中每个字的最后一个字符,并保证只有该行末字符是换行符时才进行删除操作。

4.Spreadsheet::WriteExcel

主要需要使用该模块中的format,使输出的目标内容加上相应的格式,add_format();如果不需要特殊格式,print方式输出至xls文件也很方便;

$worksheet->write_row($row, 0, \@list);或 $worksheet->write_row($row, 0, \@list,$format)每行以数组格式写入,每个cell一个元素,特殊格式或无;

全部代码如下:

#!/usr/bin/perl
use strict;
my $line;
my @line;
my @array;
my @word;
my $word;
my @list;
my $list;
my @array1;
my @array2;
my $col;
my $row;
my $format;
my $worksheet;
my $worksheet1;
my @array3;
my @array4;
my @line0;
while(defined ($line = <>)){
chomp $line;
if ($line =~ m/[p]/){
my @word = split/\s+/,$line;
push(@line,$line);
push(@array1,$word[5]);
push(@array2,$word[6]);
push(@array4,$word[1]);
}
}
$col = $row = 1;
use Spreadsheet::WriteExcel;
my $workbook = Spreadsheet::WriteExcel->new(‘D:\UltraEdit_v25.0.0.53_x64\perl.xls‘);
# Add a worksheet
$worksheet = $workbook->add_worksheet();
$format = $workbook->add_format();
$format->set_bold();
$format->set_bg_color(‘blue‘);
$format->set_align(‘center‘);
print $line[0]."\n";
my @line0 = split/\s+/,$line[0];
$worksheet->write_row(‘A1‘, \@line0);
sub which_element_is {

foreach (0..$#line){
if ($array1[$_] >= 0.01 and $array2[$_] >= 2000){
my @list = split/\s+/,$line[$_];
$worksheet->write_row($row, 0, \@list);
$row++;
}
elsif ($array1[$_] >= 0.005 and $array1[$_] < 0.01 and $array2[$_] >= 2000 and $array4[$_] eq "EGFR"){
my @list = split/\s+/,$line[$_];
$worksheet->write_row($row, 0, \@list, $format);
$row++;
}
}
}
which_element_is();

 

perl 编写execl读写小程序收获——小小白

标签:特殊   换行符   方便   nbsp   reac   format   错误   x64   [1]   

原文地址:https://www.cnblogs.com/xxqb/p/9692911.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!