Выбрать с массива определенное кол-во строк зная начальный и

Простейшие вопросы в области инженерной разработки
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Выбрать с массива определенное кол-во строк зная начальн

Сообщение Artem.spb »

mnml писал(а):Люди , короче выручайте! У меня вся беда именно в файле all_data.csv - при группировании файлов (ПЛК создает каждые сутки новый файл, я в свою очередь вытягиваю их по фтп и обьеденяю их в один), первыми записываються строки с датой 10.10.2016 - хотя есть и даты 04.10.2016 (

Кто знает по чему так ?
никто не знает, разве что медиумы и экстрасенсы.
пришлите примеры своих файлов (оригинальных) и функцию слияния.
Почти наверняка там ошибка.
Shurik_85
beginner
beginner
Сообщения: 49
Зарегистрирован: 13 апр 2014, 18:53
Версия LabVIEW: 14
Контактная информация:

Re: Выбрать с массива определенное кол-во строк зная начальн

Сообщение Shurik_85 »

mnml писал(а):Shurik_85, сделал как вы посоветовали...
Получилось в итоге с функцией Array Subset, резобрались?
Последний раз редактировалось Shurik_85 31 окт 2016, 14:06, всего редактировалось 1 раз.
Shurik_85
beginner
beginner
Сообщения: 49
Зарегистрирован: 13 апр 2014, 18:53
Версия LabVIEW: 14
Контактная информация:

Re: Выбрать с массива определенное кол-во строк зная начальн

Сообщение Shurik_85 »

Shurik_85 писал(а):
mnml писал(а):Shurik_85, сделал как вы посоветовали...
Получилось в итоге с функцией Array Subset, резобрались?
вот если что вариант проги, котору я из Вашей получил:
Вложения
View Logs_Edit_1.vi
(36.95 КБ) 109 скачиваний
Shurik_85
beginner
beginner
Сообщения: 49
Зарегистрирован: 13 апр 2014, 18:53
Версия LabVIEW: 14
Контактная информация:

Re: Выбрать с массива определенное кол-во строк зная начальн

Сообщение Shurik_85 »

Artem.spb писал(а):
mnml писал(а):Люди , короче выручайте! У меня вся беда именно в файле all_data.csv - при группировании файлов (ПЛК создает каждые сутки новый файл, я в свою очередь вытягиваю их по фтп и обьеденяю их в один), первыми записываються строки с датой 10.10.2016 - хотя есть и даты 04.10.2016 (

Кто знает по чему так ?
никто не знает, разве что медиумы и экстрасенсы.
пришлите примеры своих файлов (оригинальных) и функцию слияния.
Почти наверняка там ошибка.
Присоединяюсь,нужны файлы и функции чтения и слияния, только всё реальное из Вашего проекта. Чтобы был предметный разговор.
Лучше, конечно, целиком проект, если он не представляет коммерческой ценности, конечно, т.к. наверняка он уже претерпел изменения.
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Выбрать с массива определенное кол-во строк зная начальн

Сообщение Blackman »

За порядок записи файлов в общий файл в Concatenate files.vi отвечает функция List Folders, которая сортирует имена файлов в соответствии с правилом принятом в LabVIEW для сравнения строк (по ASCII кодам) и может отличаться от правил принятых для сортировки имен файлов в системе.
Проверьте сортировку имен файлов на выходе указанной функции.
Аватара пользователя
mnml
junior
junior
Сообщения: 57
Зарегистрирован: 24 апр 2014, 18:03
Версия LabVIEW: 16.0
Контактная информация:

Re: Выбрать с массива определенное кол-во строк зная начальн

Сообщение mnml »

Обьясните пожалуйста как сделать правильную сортировку на выходе с файла по дате ?
Аватара пользователя
mnml
junior
junior
Сообщения: 57
Зарегистрирован: 24 апр 2014, 18:03
Версия LabVIEW: 16.0
Контактная информация:

Re: Выбрать с массива определенное кол-во строк зная начальн

Сообщение mnml »

Artem.spb, проект целиком выложен в двух версиях выше для 14 и 10 версии
Shurik_85
beginner
beginner
Сообщения: 49
Зарегистрирован: 13 апр 2014, 18:53
Версия LabVIEW: 14
Контактная информация:

Re: Выбрать с массива определенное кол-во строк зная начальн

Сообщение Shurik_85 »

mnml писал(а):Люди , короче выручайте! У меня вся беда именно в файле all_data.csv - при группировании файлов (ПЛК создает каждые сутки новый файл, я в свою очередь вытягиваю их по фтп и обьеденяю их в один), первыми записываються строки с датой 10.10.2016 - хотя есть и даты 04.10.2016 (

Кто знает по чему так ?
Если судить по той версии проекта, которую Вы выкладывали раньше, то проблема в том, что вы не сортируете массив перед записью в результирующий файл. Там есть чтение нескольких файлов по FTP--> склеивание их в один файл (просто склеивание последовательно, не известно в каком порядке)---> и удаление каких-то строк по набору искомых слов.

А чтобы корректно вытащить строки с датами с... по, нужно сначала расположить эти строки в результирующем массиве в порядке возрастания даты.

Для этого перед поиском минимального и максимального индекса, для вывода интересующих строк, нужно соответствующим образом отсортировать массив.
Ну либо для склеивания брать файлы только в порядке возрастания даты. Но это подходит только при гарантии, что в 2-х разных файлах не бывает даже 2-х строк с одинаковой датой. Но это вряд ли можно гарантировать при одновременной работе нескольких копий программы, создающей логи. Так что остаётся только сортировать результирующий массив. Как-то так.
Shurik_85
beginner
beginner
Сообщения: 49
Зарегистрирован: 13 апр 2014, 18:53
Версия LabVIEW: 14
Контактная информация:

Re: Выбрать с массива определенное кол-во строк зная начальн

Сообщение Shurik_85 »

Извиняюсь, известно в каком порядке: "...За порядок записи файлов в общий файл в Concatenate files.vi отвечает функция List Folders, которая сортирует имена файлов в соответствии с правилом принятом в LabVIEW для сравнения строк (по ASCII кодам) и может отличаться от правил принятых для сортировки имен файлов в системе." - Blackman.
Но в Вы в своём проекте за этим порядком никак не следите
Аватара пользователя
mnml
junior
junior
Сообщения: 57
Зарегистрирован: 24 апр 2014, 18:03
Версия LabVIEW: 16.0
Контактная информация:

Re: Выбрать с массива определенное кол-во строк зная начальн

Сообщение mnml »

вот блин задача, я не пойму как сделать правильную сортировку по дате если число начинаеться не с нуля (04.10.2016), с 4.10.2016 ....
из-за этого дата с числом 27.10.2016 отображаеться после сорта выше сем за 4.10.2016
Shurik_85
beginner
beginner
Сообщения: 49
Зарегистрирован: 13 апр 2014, 18:53
Версия LabVIEW: 14
Контактная информация:

Re: Выбрать с массива определенное кол-во строк зная начальн

Сообщение Shurik_85 »

Вы наверно при сортировке сравниваете символы из строк даты или строки целиком. А если в числа перевести, или в Time Stamp сразу, и их сортировать?
Ещё несколько шагов к проге, но зато наверняка.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Выбрать с массива определенное кол-во строк зная начальн

Сообщение Artem.spb »

mnml писал(а):вот блин задача, я не пойму как сделать правильную сортировку по дате если число начинаеться не с нуля (04.10.2016), с 4.10.2016 ....
из-за этого дата с числом 27.10.2016 отображаеться после сорта выше сем за 4.10.2016
например, так
converce.png
converce.png (11.18 КБ) 7666 просмотров
Аватара пользователя
mnml
junior
junior
Сообщения: 57
Зарегистрирован: 24 апр 2014, 18:03
Версия LabVIEW: 16.0
Контактная информация:

Re: Выбрать с массива определенное кол-во строк зная начальн

Сообщение mnml »

Так что ме судя по всему так не кто и не поможет с моей проблемой, потому что я так и не решил эту задачу!

Люди прощу выручайте, проект целиком я выкладывал в трех версиях!
Спасибо
Аватара пользователя
mnml
junior
junior
Сообщения: 57
Зарегистрирован: 24 апр 2014, 18:03
Версия LabVIEW: 16.0
Контактная информация:

Выбрать данные из 2d массива

Сообщение mnml »

Задача выбрать все строки из 2D массива по дате из первого столбца с "10.10.2016" - по "1.11.2016" (т.е. и промежуточные даты тоже 10,11,12,13 и так далее до первого числа следующего месяца)
Прошу выручайте! Спасибо!
Вложения
GetDateFrom2DArray.vi
Пример массива
(6.23 КБ) 115 скачиваний
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Выбрать с массива определенное кол-во строк зная начальн

Сообщение Artem.spb »

mnml писал(а):Так что ме судя по всему так не кто и не поможет с моей проблемой, потому что я так и не решил эту задачу!
какой проблемой?
На все ваши вопросы ответы были даны.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»