- ベストアンサー
データーの整理について
CSV形式のデータで重複するものが含まれているのですが 重複しないデータに変換出来ないでしょうか? A A A B ⇒ B C C C C という具合にCSVファイルに変換したいのです。 CGIや他の方法があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
質問する以上下記の説明が必要と思います。 CSVファイルは、フィールド=項目=「例えばBasic言語のInputステートメントで読むと1変数に入る」単位が「,」(Commma)で区切られて(デリミタ)います。そして項目1,項目2,項目3,項目4,・・の組みが1レコードとして第1レコード、第2レコード、・・・と続いています。fxxは項目(フィールド)を表すとして f11,f12,f13(行の終わり記号)f21,f22,f23(行の終わり記号) f31,f32,f33(行の終わり記号)...... ご質問のA、B、C,Dは上記で言えばどういう状況ですか。 1レコードの項目数はいくらですか。1レコード1項目ですか。そして例えば、f12=A,f22=B,f32=Cのように入っていると言うことですか。 またレコード数はいくらぐらいあるのですか。 量の多少は考えるロジックに影響します。 ●上とは別に「PerlでCSVファイルをソートする方法」 http://www.ash.or.jp/perl/sort_csv.htm で見つけました。
その他の回答 (1)
- youki64
- ベストアンサー率33% (3/9)
Perlでよければ・・・ A,B,CってのはCSVの1行1行のことですよね? であれば以下の方法でいけます。 #@csv_dataにCSVデータが入っているとして my %count; @NEWcsv_data = grep(!$count{$_}++, @csv_data); これで@NEWcsv_dataに重複の無いデータが入ります。