Извлечение данных из 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д