有人可以通过Perl告诉我如何实现以下目标。
我有一个CVS文件,其值如下所示。
I / P:
符号,A,B,C,d,E,F
66,0.8500,.8500,1.1600,1.1600
O / P:
[['符号','A','B','C','D','E','F'], [ '66', '1.1600', '1.1600' '8500' '8500'。]];
并将其分配给变量。
我怎样才能通过Perl脚本实现这一目标。
$sts = open( CSV, "< File.csv" );
while (<CSV>) {
$csv = $_;
chomp($csv);
@csv_rcd = split( ',', $csv );
foreach $cell (@csv_rcd) {
push @rowdata, $cell;
}
push @$somedata, @rowdata;
}
但上面的代码没有产生所需的o / p。
答案 0 :(得分:1)
use strict;
use Data::Dumper;
my $somedata;
while (my $csv = <DATA>) {
chomp $csv;
push @$somedata, [ split (',' , $csv)];
}
print Dumper($somedata);
__DATA__
Symbol,A,B,C,D,E,F
66,.8500,.8500,1.1600,1.1600
以下是使用PDF :: Table
的完整示例use PDF::API2;
use PDF::Table;
my $somedata;
while (my $csv = <DATA>) {
chomp $csv;
push @$somedata, [ split (',' , $csv)];
}
my $pdftable = new PDF::Table;
my $pdf = new PDF::API2(-file => "table_of_lorem.pdf");
my $page = $pdf->page;
$pdftable->table($pdf, $page, $somedata, x => 50, w => 495, start_y => 500, start_h => 300,
padding => 5, background_color_odd => 'gray', background_color_even => 'lightblue');
$pdf->saveas();
__DATA__
Symbol,A,B,C,D,E,F
66,.8500,.8500,1.1600,1.1600