##はじめに
rubyでスクレイピングしてきてcsvに吐き出したのだが、電話番号やら店舗名やらで重複している。そこで、二重配列をユニークする必要があった。
スクレイピングしてきたcsvのカラムは
[大カテゴリ、中カテゴリ、少カテゴリ、店名、住所、電話番号]
という感じ。
uniqメソッドにブロックを渡して解決
例えばcsvはこんな感じ
csv1 = [["大カテゴリ","中カテゴリ","少カテゴリ","店名","住所","電話番号"]
["A","B","C","D","E","03-0000-0000"]
["F","B","E","R","A","03-0000-1232"]
["Y","T","G","H","C","03-0000-0000"]]
電話番号でユニークしたいとすると、
uniq後はこうなってほしい
csv2 = [["大カテゴリ","中カテゴリ","少カテゴリ","店名","住所","電話番号"]
["A","B","C","D","E","03-0000-0000"]
["F","B","E","R","A","03-0000-1232"]
こうすればできたよ。
csv2 = csv1.uniq{|item| item[5]}