5

我正在使用托管在外部服务器上的 Jupyter Notebook,即用户无法访问服务器,除非通过他的 Jupyter Notebook。我正在寻找一种方式,让在这种 Jupyter Notebook 中工作的用户可以将他的结果下载为直接从 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方式实现此功能?

4

0 回答 0