Javascript Google脚本循环覆盖所有行
我已经编写了一个脚本,使用API从网站读取数据,我想将输出写在google表单中。json对象的每个ID有4个数据项,我想将它们写入4列C-F,从第2行开始一直写到第32行。我相信您的目标如下Javascript Google脚本循环覆盖所有行,javascript,loops,google-apps-script,Javascript,Loops,Google Apps Script,我已经编写了一个脚本,使用API从网站读取数据,我想将输出写在google表单中。json对象的每个ID有4个数据项,我想将它们写入4列C-F,从第2行开始一直写到第32行。我相信您的目标如下 您希望将单元格“C2”中的[当前价格、预测、需求、可用股票]的值放在活动工作表上 对于这个问题,这个答案如何 修改点: 在脚本中,该值将以for(i=2;i
- 您希望将单元格“C2”中的
的值放在活动工作表上[当前价格、预测、需求、可用股票]
- 在脚本中,该值将以
每隔for(i=2;i<33;i++){}
放入电子表格。这样,旧值将被下一个值覆盖。我想这就是你的问题所在stockId
- 我认为在您的情况下,可以使用以下流程。
- 在for循环之前准备一个数组
- 将
的值放入数组[当前价格、预测、需求、可用股票]
- 当for循环完成时,数组被放入电子表格
stockId
的值被放入数组,然后数组被放入电子表格。当上述各点反映到脚本中时,它将变成如下所示
修改脚本:
函数myFunction(){
让值=[];//已添加
对于(让stockId=1;stockId<32;stockId++){
如果(stockId==24)继续;
var response=UrlFetchApp.fetch(“https://api.torn.com/torn/“+stockId+”?选择=股票和键=“+API”);
var content=response.getContentText();
var json=json.parse(内容);
var当前价格=json[“股票”][stockId][“当前价格”];
var forecast=json[“股票”][stockId][“预测”];
var demand=json[“股票”][stockId][“需求”];
var available_shares=json[“股票”][stockId][“available_shares”];
value.push([当前价格、预测、需求、可用股票];//已添加
}
var ss=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();//已添加
ss.getRange(“C2:F”+(values.length+1)).setValues(values);//添加
}
参考:
function myFunction() {
let values = []; // Added
for (let stockId = 1; stockId < 32; stockId++) {
if (stockId == 24) continue;
var response = UrlFetchApp.fetch("https://api.torn.com/torn/" + stockId + "?selections=stocks&key=" + API);
var content = response.getContentText();
var json = JSON.parse(content);
var current_price = json["stocks"][stockId]["current_price"];
var forecast = json["stocks"][stockId]["forecast"];
var demand = json["stocks"][stockId]["demand"];
var available_shares = json["stocks"][stockId]["available_shares"];
values.push([current_price,forecast,demand,available_shares]); // Added
}
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // Added
ss.getRange("C2:F" + (values.length + 1)).setValues(values); // Added
}