2016-09-30 1 views
4

pandasデータフレームをスラックにエクスポートするにはどうすればよいですか?python pandasデータフレームを余裕をもって投稿する方法は何ですか?

df.to_json()は潜在的な候補のようですが、余分な着信webhookと結合されていますが、メッセージを解析して素敵なmarkdown/html化されたテーブルとして表示することは私には分かりません。それがうまくいくかもしれないので

長い時間リスナー、初めての呼び出し側は、

+0

これはやや広いですが、私は一般的にipythonの出力をコピーして、トリックティックを使ってコードとして投稿します。 – EdChum

答えて

1

は、データフレームの.to_html()方法があります...私に簡単にアクセスしてください。しかし、あなたがカットアンドペーストしようとしているのであれば、Tabulateは良い選択です。

from tabulate import tabulate 
df = pd.DataFrame([["Name","Age"],["Alice",24],["Bob",19]]) 
print tabulate(df, tablefmt="grid") 

戻り

+---+-------+-----+ 
| 0 | Name | Age | 
+---+-------+-----+ 
| 1 | Alice | 24 | 
+---+-------+-----+ 
| 2 | Bob | 19 | 
+---+-------+-----+ 

とスラックのコードブロックに、それがきれいに表示されるはずの貼り付け:ドキュメントから。

+0

本当にありがとう! – aaron

2

Slackは、プレーンテキストに制限されたエスケープされた改行で任意のHTML入力や書式設定テキストを受け取っていないようです。別の答えに示唆されているようにtabulateが動作しますが、自己完結型のものが必要な場合は、これが機能します。あなたのデータフレームを仮定するとdf Pythonの端末セッション、jupyterノートブック、またはprint(repr(df))ような何かを実行するprint文で

  1. です。
  2. 出力をコピーする
  3. コードブロックをスラックに貼り付けます。

私が手元に持っていたのは、入力を打つ前にスラックチャットボックスに入力するものです。

``` 
    code sid state  triplet 
0 SCAN 2057 AL 2057:AL:SCAN 
1 SNOW ABY CA ABY:CA:SNOW 
2 SNOW 15A21 MT 15A21:MT:SNOW 
3 COOP 0010 ID 0010:ID:COOP 
4 SNOW 1F01A BC 1F01A:BC:SNOW 
``` 

これをWebサービスとして統合する場合は、コピー/貼り付けのものをWebサービス/フックに置き換えます。

関連する問題