当前位置: 首页 > 知识库问答 >
问题:

使用Google Sheets自动从CoinGecko采集历史数据

柯河
2023-03-14

一直在使用Google Sheets从CoinGecko API收集历史比特币数据。手动方法,其中我必须打开工作表并复制和“仅粘贴值”以将数据粘贴到历史记录列表中。左侧显示历史记录,右侧显示数据收集。如果可能的话,我想自动化这个过程。当前代码提取10行尚未在历史记录中的数据。历史记录行以“底部”字段结尾,表示页面底部。脚本编辑器已设置为午夜运行以进行数据采集。以下是我的例子:https://docs.google.com/spreadsheets/d/1kAcVtF2x9ox7gNCt5liQdhApQpGaBw1kl4I8PjKMfx8/edit?usp=sharing

共有2个答案

丌官子安
2023-03-14

在下面找到我的完整谷歌应用程序脚本,作为任何希望从免费Coincecko Api服务获取加密历史信息的人的参考。

function Pull_History_bitcoin() {
  var targetSS = SpreadsheetApp.getActive();
  var targetSheet = targetSS.getSheetByName("bitcoin");

  // To force an update
  targetSheet.insertRowBefore(3);
  targetSheet.deleteRow(3);

  // Copy newly acquired history into the history columns
  var days = parseInt(targetSheet.getRange("J4").getValue().toString());

  if (days > 0) {
    var range = targetSheet.getRange("G6:J" + (5+days)).getValues();
    var lastRowHistory = targetSheet.getRange("G1").getValue();
    //var nextLastRowHistory = parseInt(lastRowHistory[1],4) + days;
    var nextLastRowHistoryStr = lastRowHistory.slice(1);
    var nextLastRowHistory = Number(nextLastRowHistoryStr) + days;

    var nextRange = targetSheet.getRange(`${lastRowHistory}:D` + (nextLastRowHistory - 1));
    nextRange.setValues(range);

    var bottomCell = targetSheet.getRange("A" + nextLastRowHistory);
    bottomCell.setValue("BOTTOM");
  }
}
陆展
2023-03-14

您必须使用Sheet和Range类。

为了自动化该过程,请将以下代码添加到现有应用程序脚本中:

function Pull_History_bitcoin() {

  //PREVIOUS CODE

  var days = parseInt(targetSheet.getRange("J4").getValue().toString());

  if (days > 0) {
    var range = targetSheet.getRange("G6:J" + (5+days)).getValues();
    var lastRowHistory = targetSheet.getRange("G1").getValue();
    var nextLastRowHistory = parseInt(lastRowHistory[1]) + days;

    var bottomCell = targetSheet.getRange("A" + nextLastRowHistory);
    bottomCell.setValue("BOTTOM");

    var nextRange = targetSheet.getRange(`${lastRowHistory}:D` + (nextLastRowHistory - 1));
    nextRange.setValues(range);
  }
}

其中天定义调用外部API后的条目数。

不要担心四舍五入的值,因为它们只是显示四舍五入,当前值就像原始值一样。

工作表类

靶场等级

 类似资料:
  • 使用采集: 普通文章采集 图片集采集

  • 任何push到open-falcon中的数据,事后都可以通过api组件提供的restAPI,来查询得到。 具体请参考API文档

  • 普通文章采集: 以织梦官方站为例,我们采集站长学院下的PHP教程栏目,打开列表地址http://www.dedecms.com/web-art/PHP_jiaocheng。 登录后台,进入“采集节点管理”,新建一个节点,选择内容模型为“普通文章”。 1.设置节点基本信息 先填写一个方便记忆的节点名称,选择目标页面编码为GB2312,防盗链模式不做设置,因目标站没做限制,这一项就不做修改,系统默认超

  • 我正在用Flink做一个实时项目,我需要用以前的交易丰富每一张卡的状态,以计算如下的交易特性: 对于每一张卡,我都有一个功能,可以统计过去24小时内的交易次数。另一方面,我有两个数据源: 在Flink流中使用静态数据集丰富数据流 任何帮助都是非常感激的。

  • 我正在做一个项目,我需要自动创建特定表的历史。我为它使用了注释,但它在表中创建重复数据。由于重复的数据,我正在耗尽空间。甚至Eclipse Link也没有回避我的问题。