Welcome to FutureAppLaboratory

v=(*^ワ^*)=v

Rubyでcsvをいじる

| Comments

仕事の関係で、Google Playからユーザーレビューをエクスポート(csvファイル)して、特定なレビューを収集するタスクがあった。rubyで割と簡単にできたので、一応手順をメモしようと思った。

Google Play Developer Consoleからcsvをエクスポート

こちらのリンクを参考した。
http://qiita.com/punchdrunker/items/e97248428d19cfa7fb08

gsutil cp -r gs://<バケットID>/reviews/reviews_<アプリのパッケージ名>_2013\* /path/to/directory
gsutil cp -r gs://<バケットID>/reviews/reviews_<アプリのパッケージ名>_2014\* /path/to/directory

こんな感じで2013と2014年分のレビューをcsvファイルとしてエクスポートすることが出来た。

UTF-16でエンコーディングされたファイルなんで、一応処理しやすいためUTF-8にしながら、一つのファイルに合体した。

iconv -f UTF-16 -t UTF-8 reviews_YOUR.PACKAGE.NAME_201308.csv >> 201308_201406_review.csv
iconv -f UTF-16 -t UTF-8 reviews_YOUR.PACKAGE.NAME_201308.csv >> 201308_201406_review.csv | sed -n '1!p' >> 201308_201406_review.csv # 一行目はcsvの項目なので要らない
...
  • Google Playの仕様変更により、2014年半ばまでのデータにはreview_linkという項目か見つからないかもしれないので、注意しよう。

rubyで読み込んで処理する

#!/usr/bin/ruby
require 'csv'

table = CSV.table('201308_201406_review.csv') # 読み込み
table.delete_if { |row| row[:star_rating] >= 3 } # 処理する。ここでは★2つ以下のレビューをselect。
File.write("201308_201406_review_below_2stars.csv", table.to_csv) # 処理したデータをcsvといて書き出す。

意外と簡単だね。(・∀・)

Comments