объединение нескольких массивов

 

GOGI

старожил
★★★
программирование техника компьютеры
прошу помощи наших программистов с алгоритмом. задача такая:
есть несколько текстовых файлов со строками формата:
порядковый номер записи, время от начала, число 1, число 2, ..., число n
файлы описывают значения нескольких параметров по времени (COMTRADE формат)
в каждом файле описываются свои свои параметры.
необходимо сделать из них один файл, который бы включал в себя все параметры в интервале времени, который есть во всех файлах. то есть если один файл содержит параметры 1 и 2 с 1 по 6 секунду, а второй параметры 3 и 4 со 2 по 8 секунду, то результирующий файл должен содержать значения параметров 1, 2, 3, 4 со второй по шестую секунду
вот как бы это сделать? язык планируется Питон или на худой конец VB
1  

zyxman

опытный

Интервал времени задается или нужно вычислить автоматом?
называть крепостное право рабством - это просто за пределами любой логики и здравого смысла (с) Fakir Если ничего не делать то точно ничего не будет, а если делать и искать, то что-то может получиться ;)  1.5.0.61.5.0.6

GOGI

старожил
★★★
интервал нужно вычислить.
1  
+
-
edit
 

permeakra

втянувшийся



Category:Join algorithms - Wikipedia, the free encyclopedia


Category:Join algorithms
From Wikipedia, the free encyclopedia
Jump to: navigation,
search
The main section for this category is in the article Join (SQL), in the section titled Join algorithms.
Pages in category "Join algorithms"


// Дальше —
en.wikipedia.org
 


upd
Исходные файлы в каком формате - plain text, бинарные, xml ?
Для plain text были утилитки от столлмана, для xml такие вещи очень коротко делаются с помощью xquery (буквально несколько строчек, при этом библиотека/утилита за тебя парсит, итерирует, сортирует...) - оч. удобно, если что.
 3.5.23.5.2
Это сообщение редактировалось 07.08.2009 в 10:23

GOGI

старожил
★★★
пока склоняюсь к обработке файлов в excel. самому писать почти ничего не надо. может и не спортивно, но я все-таки электрик :)
ps: по ссылке почитал, нифига не понял :)
1  
+
-
edit
 

permeakra

втянувшийся

GOGI> ps: по ссылке почитал, нифига не понял :)

На пальцах - кури мануал к любой РСУБД в части join, она так умеет искарпоки. Например, мануал аксесса. И эт, апдейт прочитай.
 3.5.23.5.2
+
-
edit
 

GOGI

старожил
★★★
permeakra> Исходные файлы в каком формате - plain text, бинарные, xml ?
Писал, формат comtrade, по сути csv
1  
+
-
edit
 

permeakra

втянувшийся

GOGI> по сути csv
Посмотри тогда ещё вот эти две утилиты


Несмотря на то, что они gnu-шные, под виндой они есть и бесплатно.
(тут - CoreUtils for Windows )
 3.5.23.5.2

zyxman

опытный

GOGI> Писал, формат comtrade, по сути csv

Дайте пример файла замеров.
называть крепостное право рабством - это просто за пределами любой логики и здравого смысла (с) Fakir Если ничего не делать то точно ничего не будет, а если делать и искать, то что-то может получиться ;)  1.5.0.61.5.0.6

uagg

опытный

GOGI> Писал, формат comtrade, по сути csv
Если на пальцах, то:
1. Берешь Access
2. Все файлы по очереди парсишь в одну таблицу. Если они плайн текст - то сходится встроенный акцесовский мастер, если нет - приведи пример файла.
3. Нужный тебе интервал вытаскиваешь из таблицы с помощью запроса (там есть специальный конструктор для этого).
4. Всё.

От 3х минут до получаса, в зависимости от извращенности исходных данных.

По конкретным вопросам - пиши.
 2.0.172.392.0.172.39

Mishka

модератор
★★☆
GOGI> необходимо сделать из них один файл, который бы включал в себя все параметры в интервале времени, который есть во всех файлах. то есть если один файл содержит параметры 1 и 2 с 1 по 6 секунду, а второй параметры 3 и 4 со 2 по 8 секунду, то результирующий файл должен содержать значения параметров 1, 2, 3, 4 со второй по шестую секунду
GOGI> вот как бы это сделать? язык планируется Питон или на худой конец VB
Вопрос — когда значения временных меток совпадают, то запись объеденить легко, а, если нет, то какой из вариантов нужен на выходе:

1. Создаем две записи, каждая имеет свою отметку и для одной параметры могут быть пустыми (если запись содержить параметры 1 и 2, то 3 и 4 пустые; если 3 и 4, то 1 и 2 пустые.

2. Записи объединяются — все параметры заполнены, но временная метка должна быть вычисленна-выбрана:
А) Минимальная из двух;
Б) Максимальная из двух;
В) Среднее арифметическое;
Г) Другое — опиши сам.
 2.0.0.112.0.0.11

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru