Ich arbeite an einem Skript, das einige Werte von einem Excel-Wert übernimmt und es in einer CSV-Datei protokolliert. Zwischendurch führen wir einige Berechnungen an den Daten durch und protokollieren dann die CSV. Ich füge eine Zeichenfolge an einen Wert von der Excel und speichern Sie es dann in einem Array-Element. Ich benutze Array, um ein Excel-Blatt zu simulieren, um die Ausführungszeit zu sparen und schließlich Werte aus dem Array auszuwählen und sie in CSV zu protokollieren.Doppelte Quotes in einem Wert im CSV-Format erhalten
Aber das Problem, mit dem ich konfrontiert bin, ist diese Werte, die ich für eine Spalte bekomme, wo ich eine Zeichenfolge mit einem Excel-Wert angefügt hat gibt doppelte Anführungszeichen herum. Sie sind nicht sichtbar im Falle der Excel, aber wenn ich diese CSV in Notepad anzeigen ++ Ich bekomme diese.
Ich versuchte zu suchen, aber keinen Grund dafür. Kann jemand helfen.
Bitte einen Referenz-Code unten finden:
$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: $!";
Die CSV-Linien Ich bin wie diese bekommen:
20161212-001,20170111, DEL, 12,3, A, ABC ,, "Letzte Rechnung: 1111" ,,, DP
Danke, Chankey hat es genagelt. – Mohit
Dies kann keine Anführungszeichen entfernen, die bereits beim Schreiben der Datei vorhanden sind. Es wird nur nicht hinzugefügt. – zdim
Ja, aber meine Eingabe hatte keine Anführungszeichen, sondern Leerzeichen, die zu Anführungszeichen führten. – Mohit