我使用的是dataframe-js。https://gmousse.gitbooks.io/dataframe-js/content/doc/api/dataframe.html
我已经将代码粘贴到script1
中的.gs文件中。
这段代码可以在script1
中运行。
function test(){
var data =[[1,2,3],['a','b','c']]
var DataFrame = dfjs.DataFrame
var df = new DataFrame(data)
}
但是当我将script1
作为一个库添加到script2
中时,我就不能再使用代码了。
function test(){
var data =[[1,2,3],['a','b','c']]
var DataFrame = script1.dfjs.DataFrame
var df = new DataFrame(data)
}
我得到了这个错误
Error
ArgumentTypeError: Array while expecting DataFrame | Array | Object.
_construct @ dataframe-js 1.4.3.gs:3167
Wrapper @ dataframe-js 1.4.3.gs:3191
ArgumentTypeError @ dataframe-js 1.4.3.gs:4517
_build @ dataframe-js 1.4.3.gs:6813
DataFrame @ dataframe-js 1.4.3.gs:6665
我可以再粘贴一次代码。但是为什么这个不起作用呢?不确定是dataframe-js
的问题还是我遗漏了一些简单的东西。
发布于 2021-09-19 03:16:04
当我在客户端测试console.log(script1.dfjs.DataFrame)
时,我确认脚本可以工作。因此,从ArgumentTypeError: Array while expecting DataFrame | Array | Object.
的错误消息中,我认为可能需要按值将数组data
作为字符串传递。我认为这个问题的原因可能是因为库和客户端的this
不同。那么,当下面的修改反映在您的情况中时,您会得到什么结果?
对于库端:
请将以下脚本复制粘贴到库端的脚本文件中。
function DataFrame(data) {
return new dfjs.DataFrame(JSON.parse(data));
}
对于客户端:
请在客户端测试以下脚本。
function test(){
var data =[[1,2,3],['a','b','c']];
var df = script1.DataFrame(JSON.stringify(data));
}
https://stackoverflow.com/questions/69239840
复制相似问题