Arrays 将.setValues与空嵌套数组写入一起使用';未定义';使用谷歌脚本

Arrays 将.setValues与空嵌套数组写入一起使用';未定义';使用谷歌脚本,arrays,csv,google-apps-script,Arrays,Csv,Google Apps Script,我正在拼凑一些Google应用程序脚本,这些脚本将获取一个文件列表,并将所有文件作为唯一的表单导入。除了在任何.csv中有一个空白/空白点外,它都可以工作,然后“导入到工作表”将该空白值写入为“未定义”,而不是跳过或保留空白 有没有一种方法可以将多维数组与空嵌套数组一起使用 newsheet.getRange(i+1, 1, 1, csvData[i].length).setValues(new Array(csvData[i])); 在my.csv中没有空白/空白点设置未定义的值?或者有没有

我正在拼凑一些Google应用程序脚本,这些脚本将获取一个文件列表,并将所有文件作为唯一的表单导入。除了在任何.csv中有一个空白/空白点外,它都可以工作,然后“导入到工作表”将该空白值写入为“未定义”,而不是跳过或保留空白

有没有一种方法可以将多维数组与空嵌套数组一起使用

newsheet.getRange(i+1, 1, 1, csvData[i].length).setValues(new Array(csvData[i]));
在my.csv中没有空白/空白点设置未定义的值?或者有没有一个快速清理我可以做的


感谢

当数组数据输出到电子表格时,带有null的数组元素不会在单元格中显示“未定义”

当CSV数据的一部分中的元素为空时,CSVToArray转换的数组元素将被指定为null。因此,当数组输出到电子表格时,带有null的元素将成为干净的单元格,而不显示“未定义”

如果不清洁单元格,则可以使用以下代码

for (var i=0; i< csvData.length; i++){
  csvData[i][csvData[i].indexOf("")] = null
}
for(变量i=0;i

如果我的理解不正确,我道歉。

日志记录在k的帮助下解决了我的问题

Logger.log(csvData[i])
正在返回

[…顶级产品,假,空,空,每报价行一个,空,数量,假,空,总是,空,空,空,…]

然后,当我执行另一个for循环时,
Logger.log(csvData[I][j])
显示

[16-11-09 07:52:25:255 EST] Top Products
[16-11-09 07:52:25:256 EST] false
[16-11-09 07:52:25:256 EST] undefined
[16-11-09 07:52:25:257 EST] undefined
[16-11-09 07:52:25:257 EST] One per quote line
[16-11-09 07:52:25:257 EST] undefined
[16-11-09 07:52:25:258 EST] Quantity
[16-11-09 07:52:25:258 EST] false
[16-11-09 07:52:25:259 EST] undefined
[16-11-09 07:52:25:259 EST] Always
[16-11-09 07:52:25:259 EST] undefined
[16-11-09 07:52:25:260 EST] undefined
[16-11-09 07:52:25:260 EST] undefined
以下代码段位于嵌套的
for
中,修复了我的问题

    if(csvData[i][j] == null){
      csvData[i][j]= '';
    }

所以,使用你所说的对我的场景不起作用,但它确实为我指明了正确的方向。我曾经为(I…){for(j…){
记录了每个单独的索引。我发现我未定义的值在日志中为null。因此,通过添加
if(csvData[I][j]==null){csvData[I][j]=''>}
解决了这个问题!如果K的答案有用,请向上投票。