Форматирование колонок в Array To Spreadsheet String
-
- assistant
- Сообщения: 103
- Зарегистрирован: 25 фев 2015, 10:00
- Версия LabVIEW: 14.0f1
- Контактная информация:
Форматирование колонок в Array To Spreadsheet String
Доброе утро!
Имеется массив данных, который надо сохранить в файл. Функция Array To Spreadsheet String меня вполне устраивает, но проблема в том, что числа надо сохранять с разной точностью в зависимости от номера колонки. Например, вначале идут часы, минуты и секунды, которые целые; далее - измеренные значения, которые Single, но с разной точностью измерений. Насколько могу понять, строка форматирования на входе функции описывает единый формат для всех элементов массива. Можно ли это обойти?
Имеется массив данных, который надо сохранить в файл. Функция Array To Spreadsheet String меня вполне устраивает, но проблема в том, что числа надо сохранять с разной точностью в зависимости от номера колонки. Например, вначале идут часы, минуты и секунды, которые целые; далее - измеренные значения, которые Single, но с разной точностью измерений. Насколько могу понять, строка форматирования на входе функции описывает единый формат для всех элементов массива. Можно ли это обойти?
-
IvanLis
- guru
- Сообщения: 5462
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 86 раз
Re: Форматирование колонок в Array To Spreadsheet String
Форматировать отдельно каждый столбец.temples писал(а):Можно ли это обойти?
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- developer
- Сообщения: 257
- Зарегистрирован: 03 янв 2014, 19:37
- Версия LabVIEW: 2016
- Откуда: Украина, Киев
- Контактная информация:
Re: Форматирование колонок в Array To Spreadsheet String
в массив строк вбиваете форматы соответственно для каждого столбца.
- Вложения
-
- array-to-spss.vi
- (7.47 КБ) 198 скачиваний
колдооооовствооооо! (С)
-
- assistant
- Сообщения: 103
- Зарегистрирован: 25 фев 2015, 10:00
- Версия LabVIEW: 14.0f1
- Контактная информация:
Re: Форматирование колонок в Array To Spreadsheet String
Это понятно. Разобрать на колонки, отформатировать и собрать. Но с помощью Array To Spreadsheet String это легко не получается, т.к. склеивать надо именно колонки. Как раз, пример от AlexanderKonoval даёт на выходе транспонированную таблицу.IvanLis писал(а):Форматировать отдельно каждый столбец.
-
- developer
- Сообщения: 257
- Зарегистрирован: 03 янв 2014, 19:37
- Версия LabVIEW: 2016
- Откуда: Украина, Киев
- Контактная информация:
Re: Форматирование колонок в Array To Spreadsheet String
мне кажется, вы не совсем верно описали задачу. я так понимаю, что вам надо каждый элемент массива отформатировать, просто для каждого столбца правило форматирования своё.
если это так - то вот.
если это так - то вот.
- Вложения
-
- array-to-spss.vi
- (10.69 КБ) 172 скачивания
колдооооовствооооо! (С)
-
- assistant
- Сообщения: 103
- Зарегистрирован: 25 фев 2015, 10:00
- Версия LabVIEW: 14.0f1
- Контактная информация:
Re: Форматирование колонок в Array To Spreadsheet String
Именно так! И я как раз хотел избежать реализации "в лоб" с помощью Format Into String, считая её слишком медленной. Скажем, в том же Фортране мы можем одним форматом задать форматирование для целой строки переменных разных типов, например: format (3i6,3x,a1,2i6,3x,a1)AlexanderKonoval писал(а):для каждого столбца правило форматирования своё.
Вот я и надеялся, что и в Array To Spreadsheet String можно аналогично сделать.
-
- developer
- Сообщения: 257
- Зарегистрирован: 03 янв 2014, 19:37
- Версия LabVIEW: 2016
- Откуда: Украина, Киев
- Контактная информация:
Re: Форматирование колонок в Array To Spreadsheet String
Array To Spreadsheet String превращает массив в строку, что очевидно из названия.
предполагаю, что может быть и другое решение, но я его не знаю. возможно, мастера манипулирования данными подскажут что-то получше.
предполагаю, что может быть и другое решение, но я его не знаю. возможно, мастера манипулирования данными подскажут что-то получше.
колдооооовствооооо! (С)
-
- doctor
- Сообщения: 2210
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 26 раз
Re: Форматирование колонок в Array To Spreadsheet String
А как вы думаете, внутри Array To Spreadsheet String форматируется строка? Все также, через Format Into String. Так что никакого выигрыша с манипуляциями через Array To Spreadsheet String вы не получите.И я как раз хотел избежать реализации "в лоб" с помощью Format Into String, считая её слишком медленной.
-
- assistant
- Сообщения: 103
- Зарегистрирован: 25 фев 2015, 10:00
- Версия LabVIEW: 14.0f1
- Контактная информация:
Re: Форматирование колонок в Array To Spreadsheet String
Я, конечно, догадывался, что не всё так хорошо, как хотелось бы. Но объективного сравнения не проводил.
-
- doctor
- Сообщения: 2210
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 26 раз
Re: Форматирование колонок в Array To Spreadsheet String
Можно попробовать самому собирать строку с помощью функций типа "Number To Fractional String"
-
- assistant
- Сообщения: 103
- Зарегистрирован: 25 фев 2015, 10:00
- Версия LabVIEW: 14.0f1
- Контактная информация:
Re: Форматирование колонок в Array To Spreadsheet String
Думаю, так и поступлю. Строки буду формировать в промежутки между поступлением данных, так что когда подойдёт очередь записи буфера, количество потребных операций останется незначительным.
-
- developer
- Сообщения: 257
- Зарегистрирован: 03 янв 2014, 19:37
- Версия LabVIEW: 2016
- Откуда: Украина, Киев
- Контактная информация:
Re: Форматирование колонок в Array To Spreadsheet String
у меня обычно работа с железом в одном цикле, обработка полученных от железа данных во втором, а запись в третьем. Обрабатывать данные по мере их поступления, по-моему, правильное решение.
думаю, особенно это будет актуально, учитывая вашу соседнюю тему, там вы намекали на довольно большие обьёмы данных.
думаю, особенно это будет актуально, учитывая вашу соседнюю тему, там вы намекали на довольно большие обьёмы данных.
колдооооовствооооо! (С)
-
- assistant
- Сообщения: 103
- Зарегистрирован: 25 фев 2015, 10:00
- Версия LabVIEW: 14.0f1
- Контактная информация:
Re: Форматирование колонок в Array To Spreadsheet String
Да, у меня при худшем раскладе будут раз в секунду приходить данные с 1000 каналов. При этом, часть должна быть преобразована (например, напряжение с термопары в температуру).AlexanderKonoval писал(а):особенно это будет актуально, учитывая вашу соседнюю тему, там вы намекали на довольно большие обьёмы данных.
А можно на примере? Я-то пишу "линейно" как в текстовых языках. Т.е. свои операции втискиваю в 1 секунду между приходами порций данных. И если формирование отдельной буферной строки меня не тревожит, то сброс всего буфера (примерно 30 Мб) на диск раз в час несколько напрягает. А вдруг за 1 сек не успеет?AlexanderKonoval писал(а):у меня обычно работа с железом в одном цикле, обработка полученных от железа данных во втором, а запись в третьем.
-
IvanLis
- guru
- Сообщения: 5462
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 86 раз
Re: Форматирование колонок в Array To Spreadsheet String
В текстовых тоже на потоки разбивают, но там реализация сложнее.temples писал(а):А можно на примере? Я-то пишу "линейно" как в текстовых языках.
Полистайте книгу Питер Блюм | LabVIEW. Стиль программирования, все станет намного прозрачнее.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- developer
- Сообщения: 257
- Зарегистрирован: 03 янв 2014, 19:37
- Версия LabVIEW: 2016
- Откуда: Украина, Киев
- Контактная информация:
Re: Форматирование колонок в Array To Spreadsheet String
как-то так, на быструю руку набросал
- Вложения
-
- ex_par_loops.vi
- lv13
- (21.14 КБ) 158 скачиваний
колдооооовствооооо! (С)
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 2 Ответы
- 490 Просмотры
-
Последнее сообщение Artem.spb
-
- 5 Ответы
- 233 Просмотры
-
Последнее сообщение AndreyDmitriev
-
- 19 Ответы
- 2586 Просмотры
-
Последнее сообщение Artem.spb
-
- 3 Ответы
- 1717 Просмотры
-
Последнее сообщение Artem.spb
-
- 4 Ответы
- 1193 Просмотры
-
Последнее сообщение Юрий