Преобразование заголовка и значения данных CSV в формат JSON
Привет,
Как преобразовать значение и заголовок извлечения из CSV в формат JSON? В настоящее время я добавляю данные из заголовка, объединяю их с содержимым строки и соединяю с другим столбцом.
Ниже приведено то, что я делаю:-
Imports LumenWorks.Framework.IO.Csv Private Async Function ReadFromCSV() As Task Try Using csv As New CsvReader(New StreamReader("E:\DATA\Data001.csv"), True) csv.DefaultParseErrorAction = ParseErrorAction.RaiseEvent AddHandler csv.ParseError, AddressOf csv_ParseError Dim fieldCount As Integer = csv.FieldCount Dim headers() As String = csv.GetFieldHeaders() Do While csv.ReadNextRecord() For i As Integer = 0 To fieldCount - 1 Console.Write(String.Format("{0}:{1};", headers(i), csv(i))) Next i Console.WriteLine() Loop End Using Await Task.Delay(5000) Catch ex As Exception Console.WriteLine("{0} > Sending message failed. Ex - {1}", DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss:fff"), ex.Message) End Try End Function
Кроме того, я хочу, чтобы его можно было отправить в центр Интернета вещей. Так что я воображаю:-
Dim telemetryDataPoint = New With {Key .csv_header(i) = csv_value(i)}
После того, как я динамически добавляю в JSON, как динамически зацикливаться на Новый С Ключом {}? Потому что в настоящее время я использую ручную запись. В будущем появится еще несколько CSV-файлов с динамическим количеством заголовков. например, File001.csv имеет 7 заголовков, File002.csv-16 заголовков. Итак, существует ли возможная функция 1, чтобы перевести ее в динамическое создание объекта?
Что я уже пробовал:
Использование csv в качестве нового CsvReader(New StreamReader("E:\DATA\Data001.csv"), правда)
CSV-файл.DefaultParseErrorAction = ParseErrorAction.оператор RaiseEvent
Addhandler в формате CSV.ParseError, оператором addressof csv_ParseError
Дим fieldCount как целое число = формат CSV.FieldCount
Дим заголовки() как строка = формат CSV.GetFieldHeaders()
Делать при CSV-файл.ReadNextRecord()
Для i As Integer = 0 To fieldCount - 1
Приставка.Write(String.Формат("{0}:{1};", заголовки (i), csv (i)))
Далее я
Приставка.метод WriteLine()
Петля
Конец Использования