csv

CSVを名寄せして一行にまとめるperlスクリプト / perl script to aggregate csv records

名前をキーに、複数行のCSVデータを一行にまとめます。

入力ファイル

$ cat input.csv
上根来水源の森,水源の森百選
上山公園,全国森林浴の森百選
上山公園,日本の都市公園100選
上山公園,日本の歴史公園100選
城崎温泉,日本百名湯
城山公園,全国森林浴の森百選
城山公園,日本のさくら名所100選
城山公園,日本の都市公園100選
城山公園,日本の夕陽百選
城山公園,日本の歴史公園100選
城山公園,夜景100選
城山展望台,夜景100選

1フィールド目をキーにCSVを名寄せするperlスクリプト

Excel と cygwinコマンドラインで、文字化けなしにCSVファイルを作成する方法

EXCELでファイルをCSVにエクスポートすると文字化けすることが多く、メニューをクリックするアクションが多くて面倒です。コマンドラインで履歴を利用したほうが早く、文字化けもありません。

  • Excelで表部分のデータ選択とコピー。
    Ctrl-A、Ctrl-C

 

  • cygwinでファイルに標準入力をリダイレクト
$ cat > abc.csv

上記コマンドの後にEnterで改行、ペーストしてEnter、 最後にCtrl-D。

PerlでCSV形式データ作成・出力

  • Posted on: 31 May 2014
  • By: Anonymous
#!/usr/bin/perl
use strict;

use Encode;
use Text::CSV_XS;

my @array_to_csv = (
  "Dr Dre",
  "50 Cent", 
  "Eminem",
  "Nelly",
  "Busta Rhymes"
);

my $csv = Text::CSV_XS->new();
$csv->combine(@array_to_csv);
print encode('utf-8',$csv->string()), "\n";

 

Tags: 

ページ