如何将JSON.parse解析的币安API多层索引值批量写入谷歌表格
问题原因分析
- 你现有代码的核心问题是在循环第一次执行时就用
Return语句返回了单条数据,直接终止了整个函数运行,自然只能拿到第一个索引的结果 - 谷歌表格的自定义函数想要批量填充多行/多列数据,需要返回二维数组格式的结果,表格会自动把数组逐行逐列填充到对应单元格
修复后可用代码
function atrCalculation() { // 调用币安API获取14天K线数据 const klineUrl = "https://api1.binance.com/api/v3/klines?symbol=ADAUSDT&interval=1d&limit=14"; const response = UrlFetchApp.fetch(klineUrl); const klineData = JSON.parse(response); // 定义存储结果的二维数组 const result = []; // 遍历K线数据,提取日高、日低值 for (let i = 0; i < klineData.length; i++) { // 每一行的数据格式:[日高, 日低],可按需调整顺序、增删字段 result.push([klineData[i][2], klineData[i][3]]); // 如果仅需要日高,改为result.push([klineData[i][2]])即可 } // 一次性返回所有结果的二维数组 return result; }
使用方法
- 在谷歌表格中选中你要填充的14行2列的空白区域(如果只需要日高就选14行1列,同步修改上述代码的push逻辑即可)
- 顶部公式栏输入
=atrCalculation(),按下Ctrl+Shift+Enter(Mac系统按Command+Shift+Enter)触发数组公式填充,所有数据就会自动批量填入选中区域 - 如果你的谷歌表格支持动态数组,直接在任意空白单元格输入公式按下回车就会自动溢出填充所有数据,不需要提前选区域
内容的提问来源于stack exchange,提问作者kenjosimmons
相关产品推荐
相关产品推荐

