Javascript 通过数组选择要追加到google工作表中的特定行
基本上,我有一个数组的信息,我现在可以添加到谷歌表单中,问题是很多信息对于我的需要是不必要的,所以我想找到一种方法,只添加我需要的列 上面的图片显示了一切的样子 基本上,这个想法是让它看起来像下图。 所以基本上我只需要附加第4,5,7列 我现在为什么要这样做Javascript 通过数组选择要追加到google工作表中的特定行,javascript,arrays,google-apps-script,google-sheets,Javascript,Arrays,Google Apps Script,Google Sheets,基本上,我有一个数组的信息,我现在可以添加到谷歌表单中,问题是很多信息对于我的需要是不必要的,所以我想找到一种方法,只添加我需要的列 上面的图片显示了一切的样子 基本上,这个想法是让它看起来像下图。 所以基本上我只需要附加第4,5,7列 我现在为什么要这样做 if (tozip.getContentType() == "application/zip"){ //for ZIP files var unZip = Utilities.unzip(tozip); //ass
if (tozip.getContentType() == "application/zip"){ //for ZIP files
var unZip = Utilities.unzip(tozip); //assigns the unzipped file to a new variable
var table = Utilities.parseCsv(unZip[0].getDataAsString());// assigns the data to variable
for (var i = 0; i < table.length; i++) {//loops trought the array an appends the data as it goes.
sheet.appendRow(table[i]);
}
如果(tozip.getContentType()=“application/zip”){//for zip文件
var unZip=Utilities.unZip(tozip);//将解压后的文件分配给一个新变量
var table=Utilities.parseCsv(解压[0].getDataAsString());//将数据分配给变量
对于(vari=0;i
数据来自csv文件,如下所示
【I申请,申请日期,I资格,资助日期,I资助,申请贷款金额,资助金额】,[1,2020-02-03,1,2020-02-03,1,1300.0000],[1,2019-12-29,1,2019-12-30,1,3000.0000,2000.0000],[1,2020-01-27,1,2020-01-01-28,1800.0000],[1,2020-01-08,1,2020-01-10,1,2500.0000,2500.0000],[112020-02-04,112020-02-10,11400.0000],[121020-01-21,125000.0000,2000.0000],[121020-02-06,121020-02-06,11100.0000,1400.0000],[121020-02-01,121020-02-04,11500.0000,601.0000],[121020-02-11,112020-02-11,1500.0000,800.0000]]
是的,有很多混乱的csv数据。
我尝试将其添加到代码中,并对其进行了一些修改,以便它可以选择内部数据
for (var i = 0; i < table.length; i++) {//loops trought the array an appends the data as it goes.
var columns = [];
columns.push(3);
columns.push(4);
columns.push(6);
sheet.appendRow(table[i][columns]);
}
for(var i=0;i
但它不起作用我对这类东西非常陌生,所以我很确定这不是从数组中选择所需信息的正确方法
如果我需要详细说明,请告诉我,我不太擅长解释这些东西。
提前感谢您的回答,我非常感谢您在这方面的帮助。- 您希望从通过解析CSV数据检索的数据中检索列“D”、“E”和“G”。
- 在脚本中,
是问题中显示的二维数据var table=Utilities.parseCsv的
(解压[0].getDataAsString());table
- 在脚本中,
- 您希望将检索到的值放入电子表格
- 您希望使用谷歌应用程序脚本实现这一点
是二维数组var table=Utilities.parseCsv的
(解压[0].getDataAsString());table
- 当使用
时,每一行都可以通过for(var i=0;i
进行检索。而列“D”、“E”和“G”中的值可以通过table[i]
进行检索。table[i][3]、table[i][4]、table[i][6]
- 在这次修改中,
已准备就绪,每一行都有var values=[]
值。push([table[i][3]、table[i][4]、table[i][6]])
- 在这次修改中,
- 在for循环中使用
方法时,过程成本会很高。因此,在这种情况下,会在for循环中创建一个数组。然后使用appendRow()
将该数组放入电子表格。这样可以降低成本setValues()
var table=Utilities.parseCsv(解压[0].getDataAsString());
//我修改了下面的脚本。
var值=[];
对于(变量i=0;i
- 在上面的脚本中,值被放在“Sheet1”中。如果要更改此值,请修改
getSheetByName(“Sheet1”)
- 在本例中,
是table
var table=Utilities.parseCsv(解压[0].getDataAsString())
- 当
未返回CSV数据数组时,无法使用上述修改的脚本。请注意此操作var table=Utilities.parseCsv(解压[0].getDataAsString())
- 您希望从通过解析CSV数据检索的数据中检索列“D”、“E”和“G”。
- 在脚本中,
是问题中显示的二维数据var table=Utilities.parseCsv的
(解压[0].getDataAsString());table
- 在脚本中,
- 您希望将检索到的值放入电子表格
- 您希望使用谷歌应用程序脚本实现这一点
是二维数组var table=Utilities.parseCsv的
(解压[0].getDataAsString());table
- 当使用
时,每一行都可以通过for(var i=0;i
进行检索。而列“D”、“E”和“G”中的值可以通过table[i]
进行检索。table[i][3]、table[i][4]、table[i][6]
- 在这次修改中,
已准备就绪,每一行都有var values=[]
值。push([table[i][3]、table[i][4]、table[i][6]])
- 在这次修改中,
- 当
的方法为appendRow()
var table = Utilities.parseCsv(unZip[0].getDataAsString()); // I modified below script. var values = []; for (var i = 0; i < table.length; i++) { values.push([table[i][3], table[i][4], table[i][6]]); } var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); sheet.getRange(sheet.getLastRow() + 1, 1, values.length, values[0].length).setValues(values);