如何存储JSON循环遍历得到的值并批量写入空Google Sheets表格?
问题根因
return语句的特性是只要执行就会立即终止当前函数运行,如果你把return写在for循环内部,第一次循环执行到return就会直接跳出循环、结束函数,自然只能返回第一个遍历到的值。- 其次Google Sheets的自定义函数要批量填充多行/多列区域,必须返回二维数组结构,单个字符串/数字只能填充输入公式的单个单元格。
修正后可直接使用的代码
function myKlines(){ var url='https://api1.binance.com/api/v3/klines?symbol=ADAUSDT&interval=1d&limit=14' var source = UrlFetchApp.fetch(url).getContentText() var json = JSON.parse(source) // 先定义空数组存储所有遍历结果 var result = [] for(var i=0; i<json.length; i++){ // 单个值包在数组内是为了适配Google Sheets的单列填充规则 result.push([json[i][2]]) Logger.log(json[i][2]) } // 循环全部执行完成后,统一返回完整结果数组 return result }
使用说明
在Google Sheets任意空白单元格输入=myKlines(),函数会自动向下填充14行,依次展示最近14天的ADA/USDT日线最高价。
内容的提问来源于stack exchange,提问作者kenjosimmons
相关产品推荐
相关产品推荐

