2017-08-15 12 views
0

Ich habe ein Skript, das Informationen von einer API bekommt und schreibt es in Google Tabellen. In den Daten von der API sehen die Zahlen alle normal aus, aber sobald sie auf Google-Blättern geschrieben sind, werden sie alle geändert. zum Beispiel wird 4319.05 als 4319: 05: 00.000 zurückgeschrieben. Wenn ich versuche, den Bereich nach dem Einfügen in das Blatt zu formatieren, bekomme ich wirklich seltsame Ergebnisse, wo 4319: 05: 00.000 als Zahl formatiert ist, gibt den Wert 179,96.Google Blätter Formatierung Pasting Array

Die API kann unter: https://api.coinmarketcap.com/v1/ticker/

Der verwendete Code ist wie folgt:

function getCoinMarketCapAPI() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheets = ss.getSheets(); 
    var sheet = ss.getActiveSheet(); 
    Logger.log(sheets) 

    var url="https://api.coinmarketcap.com/v1/ticker/"; 

    var response = UrlFetchApp.fetch(url); // get feed 
    var dataAll = JSON.parse(response.getContentText()); // 
    var dataSet = dataAll; 
    Logger.log(dataSet) 
    var rows = [], 
    data; 
    Logger.log(rows) 

    for (i = 0; i < dataSet.length; i++) { 
    data = dataSet[i]; 
    rows.push([data.id,data.name,data.symbol,data.rank,data.price_usd,data.price_btc,data.percent_change_1h,data.percent_change_24h,data.percent_change_7d,data.last_updated]); 
    } 

dataRange = sheet.getRange(6, 1, rows.length, 10); 
dataRange.setValues(rows); 


} 

Jede Hilfe so würde geschätzt! =)

Vielen Dank im Voraus!

Antwort

0

Ihr Skript funktionierte gut für die Zahlen. Ich musste das Datum festlegen. Format für mein Blatt ist automatisch.

function getCoinMarketCapAPI() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheets = ss.getSheets(); 
    var sheet = ss.getActiveSheet(); 
    var url="https://api.coinmarketcap.com/v1/ticker/"; 
    var response = UrlFetchApp.fetch(url); // get feed 
    var dataAll = JSON.parse(response.getContentText()); // 
    var dataSet = dataAll; 
    var rows = [],data; 
    for (i = 0; i < dataSet.length; i++) { 
    data = dataSet[i]; 
    var d=new Date(data.last_updated*1000)// convert to date 
rows.push([data.id,data.name,data.symbol,data.rank,data.price_usd,data.price_btc,data.percent_change_1h,data.percent_change_24h,data.percent_change_7d,d]); 
} 
dataRange = sheet.getRange(6, 1, rows.length, 10); 
dataRange.setValues(rows); 
} 

Hier ist meine Test-Tabelle, die Sie kopieren und ausprobieren können.

https://docs.google.com/spreadsheets/d/1dg2opJG3NEc_Ud5MrXnuFplDXnVoO9_ul-QW_MczWZ8/edit?usp=sharing

+0

Das ist so seltsam !! Das Format für mein Blatt war ebenfalls automatisch. Heres, was ich bekommen habe: https: //docs.google.com/spreadsheets/d/1zR-XuUOwG6KrjJFwcWZfkGkhBe5Hnnvy0ObLZEATAc/pubhtml – Gazelle

+0

Wahrscheinlich eine Einstellung irgendwo oder etwas. Ein großes Dankeschön dafür, dass du dir die Zeit genommen hast und die Datumsformatierung aussortiert hast! =) Brian – Gazelle

+0

herausgefunden, was das Problem verursacht hat. Ich fühle mich so dumm, dass ich nicht überprüft habe, aber meine Spracheinstellungen wurden auf Schwedisch eingestellt und dies verursachte das seltsame Zahlenformat. Ich dachte, dass etwas mit meinem Skript nicht in Ordnung ist. Nochmals vielen Dank! – Gazelle