簡體   English   中英

將數據從 yahoo Finance 導入到 Google 表格

[英]Import data from yahoo finance to Google sheets

我想將 yahoo Finance 中選項選項卡中的數據導入我的谷歌表格。 就是這個表格:圖片與我要導入的表格首先,您可以看到一個帶有不同日期的框,當您更改 URL 更改的日期時。 URLS 之間的區別在於,您需要對前面的數字 604800 求和,然后得到正確的 URL。 好吧,如果您使用 Excel,您可以毫無問題地下載數據(我想要的數據在表 3 中),但是每次日期更改時您都需要手動更改網站。 所以我在考慮使用谷歌表的 ImportXML 或 ImportHTML。 例如,如果您在主頁中使用: https://finance.yahoo.com/quote/VZ?p=VZ這個公式:=importXML("https://finance.yahoo.com/quote/VZ?p= VZ";"// [@id='quote-header-info']/div[3]/div 1 /div/span 1 ") 你會在那一刻得到股票的價值但是如果你改變網站url 用於選項之一:=importXML("https://finance.yahoo.com/quote/VZ/options?date=1618531200&p=VZ";"// [@id='quote-header-info'] /div[3]/div 1 /div/span 1 ") 你得到了一個 NA 值......即使該值存在並且網站的 HTML 代碼是相同的......這對我來說沒有意義.

所以我不知道我應該怎么做才能從選項卡“選項”中下載數據,這很令人沮喪,因為它必須是可能的,因為在 Excel 中獲取它真的很“簡單”。

有什么建議嗎?

我不確定 function 但我已經使用腳本下載了雅虎的歷史股票定價。

function importCSVFromWeb() {
  // Provide the full URL of the CSV file.
  var csvUrl = "https://query1.finance.yahoo.com/v7/finance/download/MSFT?period1=1577806579&period2=1609428979&interval=1d&events=history&includeAdjustedClose=true";
  var csvContent = UrlFetchApp.fetch(csvUrl).getContentText();
  var csvData = Utilities.parseCsv(csvContent);

  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
}

這是運行腳本后的工作表

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM