【发布时间】:2017-01-11 07:20:45
【问题描述】:
我正在编写一个脚本,该脚本从 excel 中获取一些值并将其记录到 CSV 文件中。在这期间,我们对数据执行一些计算,然后记录到 CSV。我将字符串附加到 excel 中的值,然后将其保存到数组元素中。我使用数组来模拟 Excel 工作表以节省执行时间,最后从数组中选取值并将其记录到 CSV。
但我面临的问题是,我为在其中附加了一个带有 excel 值的字符串的列得到的这个值是在周围加上双引号。它们在 excel 的情况下不可见,但是当我在 notepad++ 中查看 CSV 时,我得到了这些。
我试着寻找,但没有得到任何理由。谁能帮忙。
请在下面找到代码参考:
$Array_Final[$R_FIN][11] = "Last Invoice : ".$Array_Input_DP_Plan3[$W_R][$C_LI];
my $csv = Text::CSV->new ( { binary => 1, eol => "\n" } ) # should set binary attribute.
or die "Cannot use CSV: ".Text::CSV->error_diag ();
open my $fh, ">:encoding(utf8)", $VPath."\\Temp\\".$VCsvFileName;
my @log;
for my $row(1..$#Array_Final){
#COMMENT:EMPTY THE LOG ARRAY
$#log = -1;
for my $col(1..42){
if(defined $Array_Final[$row][$col] && $Array_Final[$row][$col] ne ""){
push @log, $Array_Final[$row][$col];
}
else{
push @log, undef;
}
}
#print (@log);
$csv->print ($fh, \@log);
}
close $fh or die "new.csv: $!";
我得到的 CSV 行是这样的:
20161212-001,20170111,DEL,12,3,A,ABC,,,"Last Invoice : 1111",,,DP
【问题讨论】:
标签: perl perl-module