2017-10-14 12 views
0

私は、分析のためにGoogleシートに追加したいさまざまな(JSON)APIデータソースを用意しています。タイムスタンプとともに1時間おきに実行するのが理想的です。googleシートに新しいapiデータを追加する

ソースがフォーマットされており、Googleシートでトリガーを使用して「x」時間ごとに実行する方法を見つけました。これは、私が苦労している追加ビットです。私は最後に使用された行または列がどこにあるのかを理解するためにいくつかのコードが必要であり、次の追加のために1つを追加する必要があると思いますか?

データソースの観点から

及びこのための一例として、私はこのコードを使用しています: http://blog.fastfedora.com/projects/import-json#ImportJSONと私のデータソース(のreddit)の一つは、として抽出される。

=ImportJSON("http://reddit.com/r/redditdev/about.json", "/data/url,/data/subscribers", "") 

これは、出力を与えます次の:

Url   TimeStamp    Subscribers 
/r/redditdev/ 14/10/2017 11:00:00 12114  
/r/redditdev/ 14/10/2017 12:00:00 12118 
/r/<others> x      y   

Subscribers Url 
12114  /r/redditdev/ 

は私が見えるようにエンド出力を希望

何か助けに感謝します!ありがとう

答えて

0

ちょっとしたレッスンクローラーを少し後に書きました。あなたが探している正確に何を行うには、それを少しカスタマイズするgithub

:しかし、それはここでは参考になるように思える

var date = Utilities.formatDate(new Date(), "America/Los_Angeles", "dd/MM/yyyy HH:mm:ss"); 
var subs = json_twoDarray[1][0], //first index is row, second is column 
    url = json_twoDarray[1][1]; 
//Assuming there's a "sheet" variable for the sheet you are logging data to, 
//get one past the last row and the first three columns and set the values 
sheet.getRange(sheet.getLastRow + 1, 1, 1, 3).setValues([[url, date, subs]]); 

、私はまた、通常のスプレッドシートの先頭に新しいデータを追加するので、ほとんどの最近のデータが最初に表示されますが、これは通常かなり良いです。あなたがに上記のスニペットの最後の行を変更することができることをやってみたかった場合:

sheet.insertRowBefore(2); //Assuming the first row is headers, insert a new second row 
sheet.getRange(2,1,1,3).setValues([[url, date, subs]]); //add the data 

私はこれらのスニペットのいずれかをテストする機会がなかったが、彼らは動作するはずです。問題がある場合は教えてください。

関連する問題