하이 펄에 두 개의 CSV 파일을 결합하고 나는 그것을 저 작은 지식을 가지고하지만 난 새내가 펄 매우 새로 온
#!/usr/bin/env perl
use strict;
use warnings;
use Text::CSV_XS;
my @rows;
{ # Read the CSV file
my $csv = Text::CSV_XS->new() or die "Cannot use Text::CSV_XS ($!)";
my $file = "file.csv";
open my $fh, '<', $file or die "Cannot open $file ($!)";
while (my $row = $csv->getline($fh)) {
push @rows, $row;
}
$csv->eof or $csv->error_diag();
close $fh or die "Failed to close $file ($!)";
}
{ # Gather the data
foreach my $row (@rows) {
foreach my $col (@{$row}) {
$col = uc($col);
}
print "\n";
}
}
# (over)Write the data
# Needs to be changed to ADD data
{
my $csv = Text::CSV_XS->new({ binary => 1, escape_char => undef })
or die "Cannot use Text::CSV ($!)";
my $file = "output.csv";
open my $fh, '>', $file or die "Cannot open $file ($!)";
$csv->eol("\n");
foreach my $row (@rows) {
$csv->print($fh, \@{$row}) or die "Failed to write $file ($!)";
}
close $fh or die "Failed to close $file ($!)";
}
에 두 .CSV 파일을 conbines 스크립트를 만들려고 해요
이 내가 쓰기를 통해이 데이터가 실제로 새 파일을 추가하는 insted 알고 할 내 현재 코드 그러나 이것은 내가 펄에있어 제한된 시간과 지식을 얻을 수 있었다 얼마나 멀리
두 파일의 CSV 형식은 동일합니다.
open my $fh, '>>', $file
or die "Cannot open $file ($!)";
가 >>
파일을 열어야합니다 APPEND에 대한 $fh
을 처리 : 내가 제대로 내 펄을 기억한다면
open my $fh, '>', $file
or die "Cannot open $file ($!)";
라인 읽어야합니다
"Header1";"Header2";"Header3";"Header4";"Header5"
"Data1";"Data2";"Data3";"Data4";"Data5"
"Data1";"Data2";"Data3";"Data4";"Data5"
"Data1";"Data2";"Data3";"Data4";"Data5"
"Data1";"Data2";"Data3";"Data4";"Data5"
"Data1";"Data2";"Data3";"Data4";"Data5"
뭔가를 시도 할 수 있습니다. 그것들은 같은 열을 가지고 있고, 다른 하나의 행을 연결하기를 원합니까? (기본적으로 두 번째 파일의 머리글을 벗겨냅니다.) 행은 같지만 열이 다르며 열을 추가하고 싶습니까? 당신은 무엇부터 시작합니까? 그리고 당신은 무엇을 끝내고 싶습니까? 셸 수준 명령으로이 작업을 수행 할 수도 있습니다 (자체 프로그램을 작성할 필요가 없음). –
그들은 모두 동일한 헤더와 동일한 행과 열을 가지고 있습니다. 이것은 매월 반복되는 것입니다. 프로그램에서 CSV 파일을 추출하고 자동으로 추가해야합니다. – Brein
'cat file1 file2> file3' 파일을 연결 하시겠습니까? – TLP