从外部托管的Jupyter Noteb动态提供文件下载

2024-04-19 10:33:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是托管在外部服务器上的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)

我正在寻找一种用户友好的方式来下载这个数据集(通常用户在准备下载数据之前要进行大量的处理、重塑)。在

例如:

^{pr2}$

或者

dataset.to_hdf('test.hdf', 'test')
mytools.download_file('test.hdf')

是否有一个内置的功能或一个简单的方法来实现这一点?在

编辑:改进了简单的解决方案。在

从使用HTMLIPython.display`一旦文件存在于服务器的文件系统中,就可以轻松地显示链接。在

from IPython.display import HTML

HTML('<a href="test.hdf">download hdf</a>')

但是,我想找到一种解决方案,通过缓冲流来提供数据,即避免首先将数据转储到本地文件系统上。你知道如何用Python的方式实现这个功能吗?在


Tags: 文件数据用户testimport功能服务器download