痞酷網_PIGOO

 找回密碼
 立即註冊
!!! [系統偵測到廣告阻擋軟體] !!!

如果您覺得痞酷網對您有些許幫助,或者您認同痞酷網的理想,

那麼希望您將痞酷網設定為白名單.

並請在上論壇的時候,動動您的手指,用行動支持我們.

謝謝!
查看: 4058|回復: 3

[求助]google spreadsheet 輸入json資料

[複製鏈接]
發表於 2020-3-8 21:42:17 | 顯示全部樓層 |閱讀模式
本帖最後由 pucheng0705 於 2020-3-8 09:52 PM 編輯

原本是很簡單的事情,一般使用 =importdata("url") 就能輕鬆解決,但是這次踢到鐵板。

通常的 json 格式都是
[a1, b1, c1]
[a2, b2, c2]
[a3, b3, c3]
輸入資料會自動填到對應的欄位

但是去讀取 Yahoo finance 的json格式卻是
[a1, a2, a3][b1, b2, b3][c1, c2, c3]
使用 importdata("https://query1.finance.yahoo.com/v7/finance/chart/0050.TW?range=5d&interval=1d&indicators=quote&includeTimestamps=true")
就變成橫向一長串。
去網路上找 importJSON 函式,使用起來也是怪怪的,一個欄位會擠好多資料在裡面。

importJSON() 來源:
How to import JSON data into Google Spreadsheets in less than 5 minutes
測試資料:
=importjson("https://query1.finance.yahoo.com/v7/finance/chart/0050.TW?range=5d&interval=1d&indicators=quote&includeTimestamps=true", "/chart/result/indicators/quote/close")

我是打算讀取1000個以上的資料點,不過才讀取5天資料就卡關。
下圖 A2欄位中擠了5天的資料,如果讀取1000天,不知道會變什麼樣子......
json0050.jpg

我原本計畫輸出格式是這個樣子
A2:day 1 close
A3:  day 2 close
A4:  day 3 close
A5:  day 4 close
A6:  day 5 close

評分

1

查看全部評分

 樓主| 發表於 2020-3-9 12:39:34 | 顯示全部樓層
原來 google app script 有 console.log 功能,可以看執行期間變數內容的變化。
已知問題在哪裡了。

評分

1

查看全部評分

發表於 2020-3-9 14:55:56 | 顯示全部樓層
基本上, json的格式 不是管空白換行的...

所以 有換行
[a1, b1, c1]
[a2, b2, c2]
[a3, b3, c3]

跟無換行
[a1, a2, a3][b1, b2, b3][c1, c2, c3]

是一樣的...

你可能要看一下,你的json處理過程...

評分

1

查看全部評分

 樓主| 發表於 2020-3-9 17:11:56 | 顯示全部樓層
本帖最後由 pucheng0705 於 2020-3-9 05:15 PM 編輯
jason680 發表於 2020-3-9 02:55 PM
基本上, json的格式 不是管空白換行的...

所以 有換行


我有找到原因,是格式裡面有一部分根本沒有"換行"....
整組資料包在一起 "a1, a2, a3, a4, a5....."],json格式用引號區隔,所以會被當作單一字串處理。
如果傳回來的資料是 "a1", "a2", "a3".....就不會發生這種問題。

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

關閉

站長小叮嚀上一條 /1 下一條

禁閉室|手機版|連繫我們|痞酷網電子技術論壇

GMT+8, 2024-11-21 05:42 PM , Processed in 0.225160 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.