我正在使用托管在外部服务器上的 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方式实现此功能?