外部サーバーでホストされている Jupyter ノートブックを使用しています。つまり、ユーザーは、Jupyter ノートブック以外ではサーバーにアクセスできません。このような Jupyter ノートブックで作業しているユーザーが、Jupyter サーバーから直接提供されるファイルとして結果をダウンロードできる方法を探しています。
私が達成したいことを説明するための小さな例を次に示します。
# this code runs inside a Jupyter Notebook
import pandas as pd
testdata = { 'a' : [1,2,3,4],
'b' : ['Hotel', 'Bed', 'Beer', 'TV']}
dataset = pd.DataFrame(testdata)
このデータセットをダウンロードするためのユーザー フレンドリーな方法を探しています (通常、ユーザーは、データをダウンロードする準備が整う前に、多くの処理を行い、再形成します)。
たとえば、次のようにします。
mytools.download_dataframe_as_hdf(dataset)
また
dataset.to_hdf('test.hdf', 'test')
mytools.download_file('test.hdf')
これを達成するための組み込み機能または適切な方法はありますか?
編集:簡単なソリューションを改善しました。
HTML
from IPython.display` を使用すると、サーバーのファイル システムにファイルが存在すると、リンクを簡単に表示できます。
from IPython.display import HTML
HTML('<a href="test.hdf">download hdf</a>')
ただし、バッファリングされたストリームを介してデータを提供する解決策を見つけたいと思います。つまり、最初にローカルファイルシステムにデータをダンプすることを避けます。この機能をpythonicな方法で実現する方法はありますか?