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
$ cat parsecsv.pl
#!/usr/bin/perl
use strict;
use Encode;
use Text::CSV_XS;
use utf8;

my @rows;
my $csv = Text::CSV_XS->new ({ binary => 1 }) or
    die "Cannot use CSV: ".Text::CSV_XS->error_diag ();
open my $fh, "<:encoding(utf8)", "input.csv" or die "input.csv: $!";
Tags: 

ページ