2016-07-21 2 views
1

Мне нужно преобразовать .CSV в конкретный формат .JSON, и я решил использовать пакет csvtojson от NPM, поскольку он, казалось, был разработан для такого рода вещей.Методы преобразования CSV в уникальный JSON

Во-первых, немного фона на моей проблеме. У меня есть данные .CSV, который выглядит примерно так:

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 

У меня есть простой конвертер here CSV-к-JSON, но есть проблема. Он выводит довольно простой файл, и мне нужно разделить источник/место назначения и добавить специальное форматирование, которое я покажу позже.

[ 
{ 
"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 
} 
] 

Первое, что мне нужно сделать, это отделить «исходные» значения от значений «назначения». Вот пример того, что я хочу, чтобы ценности «источник», чтобы выглядеть следующим образом:

(вар назначения будет точно такой же формат)

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 
     } 
    } 

Итак, мой вопрос, как я должен подойти преобразование моих данных? Должен ли я конвертировать все с csvtojson? Или я должен преобразовать его из файла plain .JSON, который я сгенерировал?

Есть ли у кого-нибудь какие-либо советы или подобные примеры, они могут поделиться тем, как подойти к этой проблеме?

ответ

0

Я много работаю с анализом CSV-данных, и, как я уверен, вы видели, CSV очень сложно разобрать и работать правильно, поскольку существует огромное количество краевых случаев, которые могут сломать даже самые прочные из парсеров (хотя похоже, что ваш набор данных довольно прост, так что это не вызывает большого беспокойства). Не говоря уже о том, что вы потенциально можете столкнуться с коррупцией, выполняя операции при чтении с диска, поэтому гораздо лучше получить данные из CSV в файл JSON, а затем сделать любые манипуляции с объектом JSON, загруженным из этого «простого» JSON файл.

TL; др: преобразовать данные из обычного файла .JSON

+0

Благодаря кучу! Я сделаю это, есть ли у вас похожие примеры конвертации данных? Я довольно неопытен в этой области. Еще раз спасибо. – Edon

+0

@Bryce Я никогда раньше не работал с данными о местоположении, но что именно вы хотите определить/выполнить с данными? –

+0

Я использую его с blackhole.js для создания графика – Edon

Смежные вопросы