ガチャつくブログ

IT系のお勉強のために、やってみたことをアウトプットしていきます。

Slackで遊ぶ - エクスポートしたデータをCSVに -

f:id:tmt-tty:20181206232012p:plain

はじめに

Slackのフリー版の場合、メッセージの表示制限が10000件まで、ストレージ容量5GBなどの制限があるため、過去のメッセージなどエクスポートしておくこともあるかと思います。

エクスポートは各チャネル、ユーザーなどに分かれてJSON形式で出力されるため、後から見ようと思っても見にくいというか、、、見れないと思います。

今回はJSONcsv形式に変換して見やすい形で保存しておく方法をご紹介します。

 

tmt-tty.hatenablog.com

 

必要なもの

  • Slack
    データをエクスポートするSlackワークスぺースが必要です。

  • Google Colaboratory
    JSONCSVに変換するプログラムを使用するため、実行環境が必要です。

    tmt-tty.hatenablog.com

  • JSONCSVに変えるプログラム
    GitHubで公開されている下記のプログラムを使用します。

    github.com

 

やり方

まずSlackからデータをエクスポートします。

方法は公式サイトに書いてあります。

get.slack.help

 

次にGoogle Colaboratoryを開きます。

https://colab.research.google.com/

 

ファイル > Python3の新しいノートブックをクリックします。

f:id:tmt-tty:20181205231012p:plain

 

左側の▷をクリックします。

f:id:tmt-tty:20181206223556p:plain

 

ファイルタブをクリックし、アップロードをクリックします。

Slackからエクスポートしたzipファイルをアップロードします。

f:id:tmt-tty:20181206223743p:plain

f:id:tmt-tty:20181206224035p:plain

 

zipファイルを解凍します。

コードセルに下記を入力し、セルを実行ボタン▶を押します。

%%bash
unzip "xxxxx Slack export Oct 17 2016 - Dec 4 2018.zip" -d data

 

f:id:tmt-tty:20181206224800p:plain

 

続いてGitHubからプログラムをcloneします。

コードセルに下記を入力し、セルを実行ボタン▶を押します。

%%bash
git clone https://github.com/yakipudding/slack-analytics

 

f:id:tmt-tty:20181206225154p:plain

 

必要なフォルダを作成しておきます。

コードセルに下記を入力し、セルを実行ボタン▶を押します。

%%bash
mkdir -p output/channel

 

f:id:tmt-tty:20181206225917p:plain

 

プログラムを実行していきます。

コードセルに下記を入力し、セルを実行ボタン▶を押します。

%%bash
python slack-analytics/createMasterCsv.py

 

f:id:tmt-tty:20181206230153p:plain

 

次のプログラムです。

コードセルに下記を入力し、セルを実行ボタン▶を押します。

%%bash
python slack-analytics/createTalkCsv.py

 

f:id:tmt-tty:20181206230602p:plain

 

できあがったCSVファイルをダウンロードします。

ファイルタブの更新をクリックします。

f:id:tmt-tty:20181206230745p:plain

 

outputフォルダに生成されたcsvファイルがありますので、ダブルクリックしてダウンロードします。

f:id:tmt-tty:20181206231308p:plain

扱いやすい形式になったので、後は組み合わせれば『誰がどんな発言をしたか』簡単に閲覧する事ができます。