【问题标题】:Can you write Google finance directly to an array?可以直接将 Google Finance 写入数组吗?
【发布时间】:2020-07-04 21:49:43
【问题描述】:

googlefinance 可以将结果直接写入数组吗?我目前正在先将其写入工作表,然后将工作表范围拉入数组。如果我可以将它直接写入数组,它将节省大量处理,所以我正在调查。如果您有这方面的知识和专业知识,可以告诉我吗?

我在尝试时遇到错误。它只是不正确的语法还是我试图做的不可能?我想避免写入工作表以节省时间和工作表处理。但不确定是否允许函数写入变量而不是工作表

function TEST() {

 var APPLEPRICEARRAY = GOOGLEFINANCE("AAPL","price","1/1/2009","12/31/2020","WEEKLY")

};

【问题讨论】:

  • GOOGLEFINANCE 未定义
  • 你可以将一堆 GF 放在一个电子表格上的线性数组中,然后使用 Sheet.getRange().getValues() 一次性获取它们;
  • 另外,不能通过apps脚本访问历史财务数据。 我目前正在先将其写入工作表,然后将工作表范围拉入数组除非您要复制/粘贴,否则我怀疑这是真的。

标签: google-apps-script google-sheets google-sheets-formula google-finance


【解决方案1】:

只是语法不正确吗?

您似乎将 Google 表格应用程序中公开的函数(公式)与在 Google Apps 脚本环境中提供的services 混淆了。您写的内容需要 GOOGLEFINANCE 成为“附加”到全局范围的服务,所以是的,这是不正确的

但是你得到的错误不是 语法 错误,你的 reference 是无效的(没有GOOGLEFINANCE 变量在declared全局范围,因此无法引用),因此您会得到ReferenceError

googlefinance 能否将结果直接写入数组?

不,由于上述原因,它不能。对此我深表歉意,但您将苹果与橙子进行比较:数组是 JavaScript(Google Apps 脚本语言所基于)中的data structure(准确地说是indexed collection),而公式甚至没有内置-在对象中:它们不是语言的一部分。

我尝试做的事不可能吗?

很遗憾,Google Finance API has been shut down 已经存在很长时间了,所以不,不可能。


不全大写也被认为是一种常见的礼貌

【讨论】:

  • 不使用大写字母也被认为是一种常见的礼貌 OP 遵循公式语法约定,其中所有公式传统上都是大写的。
  • @TheMaster - 当然,我理解原因,这是一个讽刺的陈述,但我不能让自己在回答中使用情绪化的风格:) 只是注意到转移不是一个好主意到脚本中
【解决方案2】:

在代码示例中显示您正在尝试将 Google 表格函数用作 Google Apps 脚本/JavaScript 函数。这是不可能的。

很遗憾,没有适用于 Google Finance 的 Google Apps Script 高级服务,也没有 API。

来自https://groups.google.com/g/google-finance-apis

尊敬的 Finance API 用户,

您可能从 Google 开发者博客中听说过,Google 正在进行 API 大扫除。受影响的 API 之一是 Google Finance API(投资组合 API 和 Finance Gadgets and Tools API),该 API 将于 2012 年 10 月 20 日关闭。

参考文献

【讨论】:

  • 没问题,感谢您确认它仍然可以很好地写入工作表,我会继续这样做
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-27
相关资源
最近更新 更多