前提・実現したいこと
perlで2つのファイルからデータ抽出し、文字列連結しcsvに書き出すプログラムを作成しています。
2つのデータを半角空白で結合し、csvに書き出す機能を実装中に問題発生しました。
発生している問題・エラーメッセージ
csvを確認すると半角空白部分でデータが改行されている。
※keywordを「トヨタ プリウス」と表示させたい
csv
1campaign, adgroup, keyword 2その1,会社名_車種,トヨタ 3プリウス
該当のソースコード
perl
1my @out; 2while(my $value01 = <@word_str01>){ 3 (my $ad_group01, my $ad_word01) = split(/,/,$value01); 4 chomp $ad_group01; 5 chomp $ad_word01; 6 7 while(my $value02 = <@word_str02>){ 8 (my $ad_group02, my $ad_word02) = split(/,/,$value02); 9 chomp $ad_group02; 10 chomp $ad_word02; 11 #データ書き出し準備 12 #ad_01とad_02のデータを連結する 13 #キャンペーン名,グループ名1_グループ名2,KW01 KW02 14 push @out,$ptn_name . "," . $ad_group01 . "_" .$ad_group02 . "," . $ad_word01 . ' ' . $ad_word02; 15 } 16} 17#ファイルの出力 18#出力件数 19#最初だけ新規で開き、2件目以降は上書き 20my $OUT; 21 22if($index<1){ 23 open($OUT,">$out_file"); 24}else{ 25 open($OUT,">>$out_file"); 26} 27#ヘッダの出力 28if($index<1){ 29print $OUT "campaign, adgroup, keyword \n"; 30} 31#キャンペーン、グループ名、KWを$OUTに追記していく 32while(my $value = <@out>){ 33print $OUT "$value\n"; 34} 35close ($OUT);
試したこと
半角空白を”_”などの別の文字で置き換えた場合には改行されないことを確認
補足情報(FW/ツールのバージョンなど)
perl5.30
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/15 06:52