【问题标题】:How to import historical data (CSV) from Yahoo Finance in SpreadSheets如何在电子表格中从 Yahoo Finance 导入历史数据 (CSV)
【发布时间】:2021-01-02 16:37:42
【问题描述】:
【问题讨论】:
标签:
function
csv
google-sheets
import
yahoo-finance
【解决方案1】:
不幸的是,在 URL 的情况下,似乎无法使用 IMPORTDATA 和 IMPORTXML。但是,幸运的是,我确认 Google Apps Script 的UrlFetchApp 可以检索 CSV 数据。因此,在这个答案中,我想建议使用 Google Apps 脚本来实现您的目标。
示例脚本:
请将以下脚本复制并粘贴到 Google 电子表格的脚本编辑器中,并将=SAMPLE("https://query1.finance.yahoo.com/v7/finance/download/AAPL?period1=1577982443&period2=1609604843&interval=1d&events=history&includeAdjustedClose=true") 放入单元格中。此脚本用作自定义函数。通过这种方式,可以在单元格中检索 CSV 数据。
const SAMPLE = url => Utilities.parseCsv(UrlFetchApp.fetch(url).getContentText());
结果:
使用上述脚本时,得到如下结果。
参考资料:
【讨论】:
-
@Stratagenus 还请注意,您将无法将该 URL 与 IMPORTXML 一起使用,因为该 URL 将下载数据(它可能运行返回下载数据的请求脚本),因此URL 不包含任何 XML、HTML、CSV、TSV 或 RSS 提要。