使用 %%javascript 魔法时如何从 JupyterHub 工作区打开文件?

How to open file from JupyterHub workspace when using %%javascript magic?

我将 JupyterHub 与 JupyterLab 结合使用。 我在该用户的工作区中有一个用户“test”和一个文件“data.csv”。

我想使用 %%javascript 魔法并用 d3.js 加载该文件。

但是,url“./data.csv”不起作用。

=>什么是从 JupyterHub 工作区加载文件的正确关系 url?

%%html 
<div id = "root"/>

%%javascript
//define plot method
window.plot = (d3)=>{
    d3.text('./data.csv', (error, raw) => {
        alert('loaded file');
    });
}

%%javascript
//execute plot method
var d3Import = document.createElement('script')
d3Import.src = 'https://d3js.org/d3.v6.min.js';
d3Import.addEventListener('load', ()=>plot(d3));
document.body.appendChild(d3Import);

相关:

https://jupyterlab.readthedocs.io/en/stable/user/urls.html

相对url是“./files/data.csv”。 此外,我有一个异步问题,我通过以下方式解决了这个问题:

%%javascript
//define plot method
window.plot = async (d3)=>{
    var text = await d3.text('./files/data.csv');  
    console.log(text);  
}