Google 表格导入 XML 文本值将不会显示

Google Sheets Import XML text value will not display

我正在尝试将一些能量数据导入 Google Sheet,但似乎无法显示该值,因为它只是 HTML 中的文本行,并在输出中显示为 --,--- 。我已尝试将 /text() 添加到 XPath,但仍然无法正常工作。

要导入数据的网站:

http://www.caiso.com/TodaysOutlook/Pages/default.aspx

GoogleSheet中的公式:

=IMPORTXML("http://www.caiso.com/TodaysOutlook/Pages/default.aspx","//div[@class='overview-large-number']")

还尝试了以下显示相同 --,--- 的 Xpath。

/html/body/div[2]/div[3]/div[4]/div/div/div[2]/div/div[1]/div[1]/div[1]
/html/body/div[2]/div[3]/div[4]/div/div/div[2]/div/div[1]/div[1]/div[1]/text()

网页截图:

Caiso Webage with Data

HTML 包含数据的元素:

<div class="overview-large-number">41,946 <span>MW</span></div>

GoogleSheets 当前输出的屏幕截图:

Google Sheets Screenshot

提前感谢您的任何见解。

数据在页面加载后填充,因此您不能使用 ImportXML()。数据通过 URL http://www.caiso.com/outlook/SP/stats.txt 上的 HTTP Get 请求,并以 JSON 格式返回。

  1. here 获取导入JSON 脚本并将其添加到您的 sheet(工具 > 脚本编辑器)。
  2. 这应该足以让您入门:
=Transpose(ArrayFormula(HLOOKUP(
{"AvailableCapacity","CurrentSystemDemand","todayForecastPeakDemand","histDemand","TodaysPeakDemand","tomorrowsForecastPeakDemand"},
ImportJSON("http://www.caiso.com/outlook/SP/stats.txt"),2,0)))

请注意,历史峰值已经是一个字符串,因此您可能需要做一些额外的工作才能得到数字。