我正在使用托管在外部服务器上的Jupyter Notebook,即除了通过他的Jupyter笔记本外,用户无法访问服务器。我正在寻找一种方法,在这样的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')
是否有内置功能或实现此目的的简洁方法?
编辑:改进了简单的解决方案。
使用来自IPython.display的HTML
可以在文件存在于服务器的文件系统上时轻松显示链接。
from IPython.display import HTML
HTML('<a href="test.hdf">download hdf</a>')
但是,我想找到一种通过缓冲流来提供数据的解决方案,即避免首先将数据转储到本地文件系统。有关如何以pythonic方式实现此功能的任何想法吗?