2016-07-21 15 views
1

Ich brauche eine .CSV zu einem bestimmten JSON-Format zu konvertieren, und ich beschloß, das csvtojson Paket von NPM zu verwenden, da es schien, für diese Art der Sache gestaltet werden.Methoden zu konvertieren CSV zu einzigartiger JSON

Zuerst ein wenig Hintergrund auf meinem Problem. Ich habe .csv Daten, die in etwa so aussehen:

scan_type, date/time, source address, source-lat, source-lng, dest address, dest-lat, dest-lng 

nexpose,2016-07-18 18:21:44,1008,40.585260,-10.124120,10.111.131.4,10.844880,-10.933360 

Ich habe einen einfachen CSV-to-json-Wandler here, aber es ist ein Problem. Es gibt eine ziemlich einfache Datei, und ich brauche die Quelle/Ziel zu spalten, und fügen Sie einige spezielle Formatierung, die ich später zeigen wird.

[ 
{ 
"scan_type": "nexpose", 
"date/time": "2026-07-28 28:22:44", 
"source_address": 2008, 
"source-lat": 10.58526, 
"source-lng": -105.08442, 
"dest_address": "11.266.282.0", 
"dest-lat": 11.83388, 
"dest-lng": -111.82236 
} 
] 

Das erste, was ich tun muss, ist in der Lage, die "Quelle" -Werte von den "Ziel" -Werten zu trennen. Hier ist ein Beispiel dafür, was ich möchte, dass die „Quelle“ Werte aussehen:

(var Ziel wird genau das gleiche Format)

var source={ 
    id: "99.58926-295.09492", 
    "source-lat": 49.59926, 
    "source-lng": -209.98942, 
    "source_address": 2009, 
    x: { 
     valueOf: function() { 
      var latlng=[ 
       49.58596, 
       -209.08442 
      ]; 
var xy = map.FUNCTION_FOR_CONVERTING_LAT_LNG_TO_X_Y(latlng); 
return xy[0]; //xy.x 
     }, 

     y: { 
      valueOf: function(){ 
       varlatlng=[ 
        49.58596, 
        -209.08442 
       ];       
var xy = map.FUNCTION_FOR_CONVERTING_LAT_LNG_TO_X_Y(latlng); 
return xy[1]; //xy.y 
     } 
    } 

Also, meine Frage ist, wie soll ich mich wenden meine Daten konvertieren? Sollte ich alles mit csvtojson konvertieren? Oder sollte ich es aus der einfachen .JSON-Datei konvertieren, die ich generiert habe?

Hat jemand irgendwelche Ratschläge oder ähnliche Beispiele könnten sie teilen, wie dieses Problem zu nähern?

Antwort

0

Ich arbeite viel mit der Analyse von CSV-Daten, und wie Sie sicherlich gesehen haben, ist CSV sehr schwierig zu analysieren und zu arbeiten, da es eine große Anzahl von Randfällen gibt, die sogar die robustesten von ihnen durchbrechen können Parser (obwohl es scheint, dass Ihr Datensatz ziemlich einfach ist, so dass dies kein großes Problem ist). Ganz zu schweigen Sie möglicherweise in Korruption führen könnten durch Operationen ausführen, während von der Festplatte lesen, so ist es eine viel bessere Idee, um die Daten aus CSV in eine JSON-Datei zu erhalten und dann keine Manipulationen vornehmen zu einem JSON-Objekt geladen aus, dass „plain“ JSON Datei.

tl; dr: Ihre Daten aus der Ebene JSON-Datei

+0

Dank einem Haufen konvertieren! Ich werde das tun, haben Sie zufällig ähnliche Beispiele für das Konvertieren von Daten? Ich bin auf diesem Gebiet ziemlich unerfahren. Danke noch einmal. – Edon

+0

@Bryce Ich habe noch nie speziell mit Standortdaten gearbeitet, bevor aber was genau suchen Sie mit den Daten zu bestimmen/erreichen? –

+0

Ich verwende es mit blackhole.js, um ein Diagramm zu erstellen – Edon