【问题标题】:How to import historical data (CSV) from Yahoo Finance in SpreadSheets如何在电子表格中从 Yahoo Finance 导入历史数据 (CSV)
【发布时间】:2021-01-02 16:37:42
【问题描述】:

我尝试为 APPLE 导入历史数据 (CSV)。我在 Google Sheet 中使用 ImportData 函数与

https://query1.finance.yahoo.com/v7/finance/download/AAPL?period1=1577982443&period2=1609604843&interval=1d&events=history&includeAdjustedClose=true

但结果是“#N/A”。

我想获取 CSV,因为有 3 位小数。网站上只有 2 个。

=IMPORTXML("https://query1.finance.yahoo.com/v7/finance/download/AAPL?period1=1577982443&period2=1609604843&interval=1d&events=history&includeAdjustedClose=true")

获取文件后有一个脚本:AAPL.csv。

你能帮帮我吗?

【问题讨论】:

    标签: function csv google-sheets import yahoo-finance


    【解决方案1】:

    不幸的是,在 URL 的情况下,似乎无法使用 IMPORTDATAIMPORTXML。但是,幸运的是,我确认 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 提要。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 1970-01-01
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多