NEWS
Frage] Excel nach json
-
-
@paul53 ok hab ich gemacht
3.11.2020, 19:52:17.005 [info ]: javascript.0 (7715) Stop script script.js.text 3.11.2020, 19:52:18.967 [info ]: javascript.0 (7715) Start javascript script.js.text 3.11.2020, 19:52:18.976 [info ]: javascript.0 (7715) script.js.text: registered 0 subscriptions and 0 schedules
bekomme nur keine daten
-
@Horst-Böttcher sagte in Frage] Excel nach json:
bekomme nur keine daten
Die Daten werden als JSON in einen Datenpunkt geschrieben. Wenn sie im Log zu sehen sein sollen, muss ergänzt werden:
log(json);
-
@paul53 ok jetzt ging es
nur gibt es ein UTF-8 Problem denn die Sonderzeichen sehen komisch aus
und wie kann man einstellen das es immer um 0:00 Uhr und 12:00 Uhr ausgelesen wird[{"\"Bezirk\"":"Charlottenburg-Wilmersdorf","\"Fallzahl\"":"3155","\"Differenz\"":"134","\"Inzidenz\"":" 918,2","\"Genesen\"":"2056"},{"\"Bezirk\"":"Friedrichshain-Kreuzberg","\"Fallzahl\"":"3602","\"Differenz\"":"140","\"Inzidenz\"":"1240,4","\"Genesen\"":"2305"},{"\"Bezirk\"":"Lichtenberg","\"Fallzahl\"":"1722","\"Differenz\"":"86","\"Inzidenz\"":" 585,3","\"Genesen\"":"1099"},{"\"Bezirk\"":"Marzahn-Hellersdorf","\"Fallzahl\"":"1376","\"Differenz\"":"76","\"Inzidenz\"":" 509,7","\"Genesen\"":"994"},{"\"Bezirk\"":"Mitte","\"Fallzahl\"":"5247","\"Differenz\"":"195","\"Inzidenz\"":"1360,2","\"Genesen\"":"3373"},{"\"Bezirk\"":"Neuk�lln","\"Fallzahl\"":"5216","\"Differenz\"":"205","\"Inzidenz\"":"1581,0","\"Genesen\"":"3353"},{"\"Bezirk\"":"Pankow","\"Fallzahl\"":"2681","\"Differenz\"":"132","\"Inzidenz\"":" 655,0","\"Genesen\"":"1848"},{"\"Bezirk\"":"Reinickendorf","\"Fallzahl\"":"2592","\"Differenz\"":"90","\"Inzidenz\"":" 972,9","\"Genesen\"":"1722"},{"\"Bezirk\"":"Spandau","\"Fallzahl\"":"2045","\"Differenz\"":"166","\"Inzidenz\"":" 834,0","\"Genesen\"":"1309"},{"\"Bezirk\"":"Steglitz-Zehlendorf","\"Fallzahl\"":"2242","\"Differenz\"":"78","\"Inzidenz\"":" 723,1","\"Genesen\"":"1092"},{"\"Bezirk\"":"Tempelhof-Sch�neberg","\"Fallzahl\"":"3585","\"Differenz\"":"136","\"Inzidenz\"":"1021,4","\"Genesen\"":"1915"},{"\"Bezirk\"":"Treptow-K�penick","\"Fallzahl\"":"1355","\"Differenz\"":"75","\"Inzidenz\"":" 495,1","\"Genesen\"":"784"},{"\"Bezirk\"":"Berlin","\"Fallzahl\"":"34818","\"Differenz\"":"1513","\"Inzidenz\"":" 923,7","\"Genesen\"":"21850"}]
-
Hat wer da eine Lösung
-
wie kann man einstellen das es immer um 0:00 Uhr und 12:00 Uhr ausgelesen wird
const csvjson = require('csvjson'); const idJson = 'Datenpunkt-ID für Vis-Tabelle'; const url = 'https://www.berlin.de/lageso/_assets/gesundheit/publikationen/corona/bezirkstabelle.csv'; schedule('0 0,12 * * *', function() { request(url, function(err, resp, data) { if(err) log(err, 'warn'); else { let json = JSON.stringify(csvjson.toObject(data, {delimiter : ';'})); setState(idJson, json, true); } }); });
-
@Horst-Böttcher sagte in Frage] Excel nach json:
UTF-8 Problem
Beim einlesen kannst du ein encoding angeben. Dazu musst du herausfinden wie die excel kodiert wurde. Wenn es Windows ist könntest du es mal mit ISO-8859-1 probieren
-
@OliverIO sagte in Frage] Excel nach json:
ISO-8859-1
es währe net wenn sie mir sagen könnten wie man das dort einträgt
-
ich habe mal das beispiel von oben kopiert. es muss nur wenig geändert werden.
const csvjson = require('csvjson'); const idJson = 'Datenpunkt-ID für Vis-Tabelle'; const url = 'https://www.berlin.de/lageso/_assets/gesundheit/publikationen/corona/bezirkstabelle.csv'; request({ url:url, encoding:'ISO-8859-1' }, function(err, resp, data) { if(err) log(err, 'warn'); else { let json = JSON.stringify(csvjson.toObject(data, {delimiter : ';'})); setState(idJson, json, true); } });
-
@OliverIO sagte in Frage] Excel nach json:
encoding:'ISO-8859-1'
das mag der JS Adapter gar nicht und beendet sich
Ich hatte mich diese Woche daran versucht und bin kläglich gescheitert
-
@fastfoot
Ohne eine Fehlermeldung?
Was heißt beendet. Absturz? -
@OliverIO sagte in Frage] Excel nach json:
@fastfoot
Ohne eine Fehlermeldung?
Was heißt beendet. Absturz?ja, crash. Dasselbe mit
ansi
und was mir sonst noch einfiel.javascript.1 2020-11-06 23:48:11.901 error (27805) TypeError [ERR_UNKNOWN_ENCODING]: Unknown encoding: ISO-8859-1 javascript.1 2020-11-06 23:48:11.901 error (27805) Error: Unknown encoding: ISO-8859-1 javascript.1 2020-11-06 23:48:11.900 error (27805) An error happened which is most likely from one of your scripts, but the originating script could not be detected.
-
@fastfoot
Dann Probier mal den folgenden String
iso88591Wenn das auch nicht geht, wirst du die Daten vorher nochmal durch iconv jagen müssen.
https://blog.theodo.com/2017/04/csv-excel-escape-from-the-encoding-hell-in-nodejs/
-
@OliverIO sagte in Frage] Excel nach json:
@fastfoot
Dann Probier mal den folgenden String
iso88591Wenn das auch nicht geht, wirst du die Daten vorher nochmal durch iconv jagen müssen.
https://blog.theodo.com/2017/04/csv-excel-escape-from-the-encoding-hell-in-nodejs/
Danke dir sehr, auch wenn ich nicht der TE bin. Das hatte mich doch interessiert und hat mich frustriert zurückgelassen, dass ich die Lösung nicht selbst finden konnte. Mit deiner Lösung klappt es jetzt. Ginge nicht auch so etwas wie charset = xxxx ? Ich kenne mich mit Request-Headern leider gar nicht aus
const csvjson = require('csvjson'); const iconv = require('iconv-lite'); const idJson = '0_userdata.0.json'; const url = 'https://www.berlin.de/lageso/_assets/gesundheit/publikationen/corona/bezirkstabelle.csv'; request({ url:url, encoding:'binary' }, function(err, resp, data) { if(err) log(err, 'warn'); else { data = iconv.decode(data, 'iso88591'); let json = JSON.stringify(csvjson.toObject(data, {delimiter : ';'})); setState(idJson, json, true); log(json); } });
-
die Sonderzeichen sehen komisch aus
Man kann sie austauschen, da alle für ein "ö" stehen.
setState(idJson, json.replace(/�/g, 'ö'), true);
-
Dann Probier mal den folgenden String
iso88591Hat supper geklappt danke euch