私はExcelからいくつかの値をとり、それをCSVファイルに記録するスクリプトを作成しています。その間に、データに対していくつかの計算を行い、CSVにログします。私は、Excelの値に文字列を追加して、それを配列要素に保存しています。私は実行時間を節約するためにExcelシートをシミュレートするために配列を使用していますし、最後に配列から値を取り出してCSVに記録しています。二重引用符をCSVの値で取得する
しかし、私が直面している問題は、私がExcelの値を持つ文字列を追加した列の値が二重引用符で囲まれていることです。彼らはExcelの場合は表示されませんが、私はメモ帳でその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 ,, 、 "最後の請求書:1111" ,,, DP
ありがとうございました、Chankey uはそれを釘付けにしました。 – Mohit
これは、ファイルの書き込み時に既に存在する引用符を削除することはできません。それはそれらを追加しないだけです。 – zdim
ええ、私の入力には引用符は含まれていませんが、引用符で囲まれたスペースがあります。 – Mohit