海の響きを懐かしむ

観たもの聴いたもの読んだものの記録と、日記など

sortとuniqを使ってcsvの重複を消す

Twitterからクロールしてきたmiilの情報は、pythoncsvに書き出している。一時間に一回更新するようにしているのだけど、一度に最新のポストを100件読み込むので、以前書き込んだポストと重複することがある。このダブりを削除したい。元のcsvは以下のようにぐちゃぐちゃになっている。

画像URL,2011-12-06 12:48:48+09:00,ユーザA, ,
画像URL,2011-12-06 12:50:26+09:00,ユーザB, ,
画像URL,2011-12-06 12:51:09+09:00,ユーザC, ,
(略)
画像URL,2011-12-06 12:50:26+09:00,ユーザB, ,


まずsortコマンドを使って、時系列のカラムを軸にソートする。

sort -t , -k2 miilData.csv > sort

そうしてsortの中身を見ると、以下のようにきちんとダブっているところがわかるので、

画像URL,2011-12-06 12:48:48+09:00,ユーザA, ,
画像URL,2011-12-06 12:50:26+09:00,ユーザB, ,
画像URL,2011-12-06 12:50:26+09:00,ユーザB, ,
画像URL,2011-12-06 12:51:09+09:00,ユーザC, ,

この部分をuniqを使って削除する。

uniq sort miilData.csv

これできれいになるはず。

画像URL,2011-12-06 12:48:48+09:00,ユーザA, ,
画像URL,2011-12-06 12:50:26+09:00,ユーザB, ,
画像URL,2011-12-06 12:51:09+09:00,ユーザC, ,

        • -

*12/8 追記
sortに-uコマンドがあることをma10さんに教えていただいた。↓で一発変換できる。べんり・・!!

sort -t , -k2 -u miilData.csv > miilDataNew.csv