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

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

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

Postby Artem.spb on 31 Oct 2016, 13:18

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

Кто знает по чему так ?

никто не знает, разве что медиумы и экстрасенсы.
пришлите примеры своих файлов (оригинальных) и функцию слияния.
Почти наверняка там ошибка.
Artem.spb
expert
expert
 
Posts: 1161
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 211
CLD hardware I/O VIP freelance

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

Postby Shurik_85 on 31 Oct 2016, 13:55

mnml wrote:Shurik_85, сделал как вы посоветовали...

Получилось в итоге с функцией Array Subset, резобрались?
Last edited by Shurik_85 on 31 Oct 2016, 14:06, edited 1 time in total.
Shurik_85
beginner
beginner
 
Posts: 43
Joined: 13 Apr 2014, 18:53
LabVIEW Version: 14
Karma: 6

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

Postby Shurik_85 on 31 Oct 2016, 14:06

Shurik_85 wrote:
mnml wrote:Shurik_85, сделал как вы посоветовали...

Получилось в итоге с функцией Array Subset, резобрались?


вот если что вариант проги, котору я из Вашей получил:
Attachments
View Logs_Edit_1.vi
(36.95 KiB) Downloaded 34 times
Shurik_85
beginner
beginner
 
Posts: 43
Joined: 13 Apr 2014, 18:53
LabVIEW Version: 14
Karma: 6

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

Postby Shurik_85 on 31 Oct 2016, 14:08

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

Кто знает по чему так ?

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


Присоединяюсь,нужны файлы и функции чтения и слияния, только всё реальное из Вашего проекта. Чтобы был предметный разговор.
Лучше, конечно, целиком проект, если он не представляет коммерческой ценности, конечно, т.к. наверняка он уже претерпел изменения.
Shurik_85
beginner
beginner
 
Posts: 43
Joined: 13 Apr 2014, 18:53
LabVIEW Version: 14
Karma: 6

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

Postby Blackman on 31 Oct 2016, 14:11

За порядок записи файлов в общий файл в Concatenate files.vi отвечает функция List Folders, которая сортирует имена файлов в соответствии с правилом принятом в LabVIEW для сравнения строк (по ASCII кодам) и может отличаться от правил принятых для сортировки имен файлов в системе.
Проверьте сортировку имен файлов на выходе указанной функции.
Blackman
leader
leader
 
Posts: 624
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 148

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

Postby mnml on 31 Oct 2016, 14:28

Обьясните пожалуйста как сделать правильную сортировку на выходе с файла по дате ?
User avatar
mnml
beginner
beginner
 
Posts: 40
Joined: 24 Apr 2014, 18:03
LabVIEW Version: 16.0
Karma: 5

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

Postby mnml on 31 Oct 2016, 14:31

Artem.spb, проект целиком выложен в двух версиях выше для 14 и 10 версии
User avatar
mnml
beginner
beginner
 
Posts: 40
Joined: 24 Apr 2014, 18:03
LabVIEW Version: 16.0
Karma: 5

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

Postby Shurik_85 on 31 Oct 2016, 14:39

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

Кто знает по чему так ?


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

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

Для этого перед поиском минимального и максимального индекса, для вывода интересующих строк, нужно соответствующим образом отсортировать массив.
Ну либо для склеивания брать файлы только в порядке возрастания даты. Но это подходит только при гарантии, что в 2-х разных файлах не бывает даже 2-х строк с одинаковой датой. Но это вряд ли можно гарантировать при одновременной работе нескольких копий программы, создающей логи. Так что остаётся только сортировать результирующий массив. Как-то так.
Shurik_85
beginner
beginner
 
Posts: 43
Joined: 13 Apr 2014, 18:53
LabVIEW Version: 14
Karma: 6

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

Postby Shurik_85 on 31 Oct 2016, 14:44

Извиняюсь, известно в каком порядке: "...За порядок записи файлов в общий файл в Concatenate files.vi отвечает функция List Folders, которая сортирует имена файлов в соответствии с правилом принятом в LabVIEW для сравнения строк (по ASCII кодам) и может отличаться от правил принятых для сортировки имен файлов в системе." - Blackman.
Но в Вы в своём проекте за этим порядком никак не следите
Shurik_85
beginner
beginner
 
Posts: 43
Joined: 13 Apr 2014, 18:53
LabVIEW Version: 14
Karma: 6

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

Postby mnml on 31 Oct 2016, 15:35

вот блин задача, я не пойму как сделать правильную сортировку по дате если число начинаеться не с нуля (04.10.2016), с 4.10.2016 ....
из-за этого дата с числом 27.10.2016 отображаеться после сорта выше сем за 4.10.2016
User avatar
mnml
beginner
beginner
 
Posts: 40
Joined: 24 Apr 2014, 18:03
LabVIEW Version: 16.0
Karma: 5

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

Postby Shurik_85 on 31 Oct 2016, 15:48

Вы наверно при сортировке сравниваете символы из строк даты или строки целиком. А если в числа перевести, или в Time Stamp сразу, и их сортировать?
Ещё несколько шагов к проге, но зато наверняка.
Shurik_85
beginner
beginner
 
Posts: 43
Joined: 13 Apr 2014, 18:53
LabVIEW Version: 14
Karma: 6

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

Postby Artem.spb on 31 Oct 2016, 16:41

mnml wrote:вот блин задача, я не пойму как сделать правильную сортировку по дате если число начинаеться не с нуля (04.10.2016), с 4.10.2016 ....
из-за этого дата с числом 27.10.2016 отображаеться после сорта выше сем за 4.10.2016


например, так
converce.png
converce.png (11.18 KiB) Viewed 1585 times
Artem.spb
expert
expert
 
Posts: 1161
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 211
CLD hardware I/O VIP freelance

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

Postby mnml on 07 Nov 2016, 13:41

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

Люди прощу выручайте, проект целиком я выкладывал в трех версиях!
Спасибо
User avatar
mnml
beginner
beginner
 
Posts: 40
Joined: 24 Apr 2014, 18:03
LabVIEW Version: 16.0
Karma: 5

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

Postby mnml on 07 Nov 2016, 14:16

Задача выбрать все строки из 2D массива по дате из первого столбца с "10.10.2016" - по "1.11.2016" (т.е. и промежуточные даты тоже 10,11,12,13 и так далее до первого числа следующего месяца)
Прошу выручайте! Спасибо!
Attachments
GetDateFrom2DArray.vi
Пример массива
(6.23 KiB) Downloaded 35 times
User avatar
mnml
beginner
beginner
 
Posts: 40
Joined: 24 Apr 2014, 18:03
LabVIEW Version: 16.0
Karma: 5

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

Postby Artem.spb on 07 Nov 2016, 14:27

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

какой проблемой?
На все ваши вопросы ответы были даны.
Artem.spb
expert
expert
 
Posts: 1161
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 211
CLD hardware I/O VIP freelance

PreviousNext

Return to Для чайников

Who is online

Users browsing this forum: Google, Yandex and 9 guests

cron