使用带有空嵌套数组的.setValues会使用google脚本写入'undefined'

时间:2016-11-09 02:53:03

标签: arrays csv google-apps-script

我正在拼凑一些Google Apps脚本from this post,它将获取一个文件列表并将所有文件作为唯一表格导入。它的工作原理除外,如果任何.csv中有空白/空白点,则导入到工作表会将该空白值写为“未定义”而不是跳过或留空。

有没有办法让一个多维数组有一个空的嵌套数组,然后使用

newsheet.getRange(i+1, 1, 1, csvData[i].length).setValues(new Array(csvData[i]));

没有我的.csv中的空白/空白点设置未定义的值?或者我可以快速清理吗?

由于

2 个答案:

答案 0 :(得分:1)

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

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

如果不是干净的单元格,可以使用以下代码。

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

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

答案 1 :(得分:1)

记录在k。

的帮助下解决了我的问题

var collection = new SearchFilter.SearchFilterCollection(LogicalOperator.And); collection.Add(new SearchFilter.ContainsSubstring(ItemSchema.Body, "text1", ContainmentMode.Substring, ComparisonMode.Exact)); collection.Add(new SearchFilter.ContainsSubstring(ItemSchema.Body, "text2", ContainmentMode.Substring, ComparisonMode.Exact)); collection.Add(new SearchFilter.ContainsSubstring(ItemSchema.Body, "text3", ContainmentMode.Substring, ComparisonMode.Exact)); collection.Add(new SearchFilter.ContainsSubstring(ItemSchema.Body, "text4", ContainmentMode.Substring, ComparisonMode.Exact)); collection.Add(new SearchFilter.ContainsSubstring(ItemSchema.Body, "text5", ContainmentMode.Substring, ComparisonMode.Exact)); collection.Add(new SearchFilter.ContainsSubstring(ItemSchema.Body, "longer string 1", ContainmentMode.Prefixed, ComparisonMode.IgnoreCase)); 正在返回

Logger.log(csvData[i])

然后当我执行另一个for循环时,[.....Top Products, false, null, null, One per quote line, null, Quantity, false, null, Always, null, null, null,.....]显示

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