Извлечение данных из txt фрагментами - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Нужна помощь с извлечением данных из текстового файла. Извлечение нужно производить не с начала файла, а после определённой фразы. После нее идет огромный массив данных, состоящий из даты и значения температуры. Нужно извлекать значение температуры в зависимости от даты, дата изменяется с шагом в 10 минут и сравнивается с допустимым диапазоном, если диапазон не подходит, то ничего не извлекается. Дата сравнивается с точностью до секунды, а значение температуры состоит исключительно из чисел. Значения температуры заносятся в таблицу экселя, дата сравнивается с датой из той-же таблицы в экселе, там уже есть массив ячеек с разбивкой дат по шагу в рамках допустимого диапазона. Форматы дат в файле и экселе совпадают. Тело файла выглядит так:
Спойлер

Решение задачи: «Извлечение данных из txt фрагментами»

textual
Листинг программы
 Dim tmp As String = ""
        Try
            tmp = IO.File.ReadAllText("C:\Users\administrator\Desktop\data.txt", System.Text.Encoding.Default) ' считываем данные
        Catch ex As Exception
        End Try
        If tmp <> "" Then
            Dim razdel() As String = Split(tmp, "Значения измеренных величин:") 'режем все, что есть по тексту 
            Dim main() As String = Split(razdel(1), "°C") ' все, после заданного выше текста режем по °C
            For i = 0 To main.Count - 2 ' запускаем цикл от 0 до кол-ва записей с "°C", в итоге будем получать строку вида (24/03/2016 09:00:01 - 23.0912 )
                Dim s() As String = Split(main(i), "-") ' режем полученную строку по -, чтобы отделить дату от температуры
                ListBox1.Items.Add(s(0)) ' дата
                ListBox2.Items.Add(s(1)) ' температура
            Next
        End If

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5