|
|
|
Усреднение в ТXТ/СSV файле
|
|||
|---|---|---|---|
|
#18+
Добрый день!!! Я бы сразу хотел сказать, что я начинающий и пишу макросы в VB с книжкой на коленках. Не могли бы вы мне помочь с проблемой с которой я столкнулся. Есть Файл CSV который содержит уйму строк (значительно больше 65000, ограниечение Excel) следующего вида: 3/11/2008 2:33:58 PM,-999.25,-999.25,-999.25,-999.25 3/11/2008 2:34:00 PM,-999.25,-999.25,-999.25,-999.25 3/11/2008 2:34:01 PM,-999.25,-999.25,-999.25,-999.25 3/11/2008 2:34:03 PM,-999.25,-999.25,-999.25,-999.25 3/11/2008 2:34:15 PM,-999.25,-999.25,-999.25,-999.25 3/11/2008 2:34:16 PM,-999.25,-999.25,-999.25,-999.25 нужно усреднить значения по столбцам за указанный промежуток времени (скажем каждые 5 минут) То есть открыв файл как txt прочитав строку с использованием разделителя как я понимаю я должен проверить время, и складывать строки в какой то временный листок экселя до тех пор пока дата не будет равной предыдущая плюс указанный интервал. Но как это сделать если время меняется (часы, минуты секунды, дата) не получится просто сравнивать секунды например. И потом я нужно будет найти среднее значение и выложить его на постоянное место. Пожалуйста помогите, если можно примером. Я просто ума не приложу как это сделать, даже в теории. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2008, 01:02 |
|
||
|
Усреднение в ТXТ/СSV файле
|
|||
|---|---|---|---|
|
#18+
Примерчик: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2008, 18:49 |
|
||
|
Усреднение в ТXТ/СSV файле
|
|||
|---|---|---|---|
|
#18+
Спасибо огромное за пример я не предполагал даже что можно использовать Эксесс точнее я всегда его использовал с юзерским интерфейсом только. У меня выдает ошибку синтекса в строке открытия файла. Вы не поверите я потатил 5 часов уже с книжками но до сих пор не понимаю где там ошибка (пробовал удалить одну из ковычек которая по моему мнению лишняя тогда появлялась другая ошибка Unspecified Error) Очень плохо что нет функции в MS Eccess записать макрос!!! Так бы можно было записать строку открытия файла и вставить. PAПримерчик: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2008, 03:27 |
|
||
|
Усреднение в ТXТ/СSV файле
|
|||
|---|---|---|---|
|
#18+
Yakov500Спасибо огромное за пример я не предполагал даже что можно использовать Эксесс точнее я всегда его использовал с юзерским интерфейсом только. А где ты тут увидел "Эксесс"? Yakov500У меня выдает ошибку синтекса в строке открытия файла. Вы не поверите я потатил 5 часов уже с книжками но до сих пор не понимаю где там ошибка (пробовал удалить одну из ковычек которая по моему мнению лишняя тогда появлялась другая ошибка Unspecified Error)Ну а первую ошибку мы угадывать должны? PS И вообще, что такое "Эксесс"? Если имелся в виду MS Access то он произносится как "аксес". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2008, 16:43 |
|
||
|
Усреднение в ТXТ/СSV файле
|
|||
|---|---|---|---|
|
#18+
White Owl, У нас он произносится именно Эксэс, с ударением на первую гласную! Це ж английский. А парень под Access пока понимает все, что "шевелится", это как раз понятно. Мне непонятно другое, почему создается именно ini файл, подразумевающий свою структуру с секциями, ключами и значениями, под которую есть свои, заточенные под INI файлы API функции. Я бы, если уж пошла такая пляска, использовал: Private Declare Function GetPrivateProfileString Lib "kernel32" _ Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _ ByVal lpKeyName As String, ByVal lpDefault As String, _ ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long Private Declare Function WritePrivateProfileString Lib "kernel32.dll" _ Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, _ ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long для работы с INI. Но я все равно не понимаю, как это работает, я так еще не делал. Я посмотрел пример и что-то не нашел, как вообще используется создаваемый в начале кода файл "schema.ini" Там такое есть: Source="""c:\test\""; Но это не имя файла, а имя директории файла... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2008, 22:27 |
|
||
|
Усреднение в ТXТ/СSV файле
|
|||
|---|---|---|---|
|
#18+
А я и того больше запутался а только и хотелось то сделать маааленький макрос который бы усреднял данные :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2008, 23:00 |
|
||
|
Усреднение в ТXТ/СSV файле
|
|||
|---|---|---|---|
|
#18+
VladConnУ нас он произносится именно Эксэс, с ударением на первую гласную! Це ж английский. У вас? В Коннектикуте? Странно. Первая гласная там краткая "а" должна быть. А ударение действительно на первый слог. VladConnМне непонятно другое, почему создается именно ini файл, подразумевающий свою структуру с секциями, ключами и значениямиНе просто ini файл. А schema.ini , этот файл личная фишка текстового OLE DB драйвера от мелкомягких. В нем каждая секция это имя текстового файла из которого драйвер будет читать данные а в секции идут описания "колонок" из текстового файла. Можешь считать schema.ini как набор sysobjects+syscolumns таблиц только не в нормальной БД, а для текстовых файлов которые лежат в той же директории что и сам schema.ini. Вот тут читай: http://msdn2.microsoft.com/en-us/library/ms709353.aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2008, 23:22 |
|
||
|
Усреднение в ТXТ/СSV файле
|
|||
|---|---|---|---|
|
#18+
Там идея, кстати, напрашивается сама, пусть меня поправят желающие из зала, если я ошибаюсь : - в ini файл записываются метаданные на файл данных - создается объект recordset - recordset открывается согласно записанному SQL запросу, при его открытии должны указываться имя файла данных и имя файла метаданных ( с последним - скорее всего проблема, вы вот и попробуйте указать) - результат сбрасывается на лист EXCEL в ранг, начинающийся с ячейки "A1" - recordset закрывается f1,..., f4 - подразумеваемые имена полей вашего файла данных, они же должны как-то фигурировать, если ColNameHeader = False. recordset их правильно поймет, они по-порядочку пронумерованы системой. Например, 3/11/2008 2:33:58 PM - это из f1. Кстати, проследите, чтобы в вашем файле данных тоже не было заголовков полей для примера от PA. Прошу прощения у PA за вторжение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2008, 23:23 |
|
||
|
Усреднение в ТXТ/СSV файле
|
|||
|---|---|---|---|
|
#18+
Yakov500А я и того больше запутался а только и хотелось то сделать маааленький макрос который бы усреднял данные :)А ты возьми и сделай его. Как он будет работать ты уже в самом первом письме описал. Делай свой макрос, а когда застрянешь - прийдешь с конкретным вопросом. И кстати, в примере PA действительно нету использования MS Access. Да и не нужен он тут вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2008, 23:27 |
|
||
|
Усреднение в ТXТ/СSV файле
|
|||
|---|---|---|---|
|
#18+
VladConn- recordset открывается согласно записанному SQL запросу, при его открытии должны указываться имя файла данных и имя файла метаданных ( с последним - скорее всего проблема, вы вот и попробуйте указать) С последним проблем не будет :) Я уже дал ссылку на документацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2008, 23:30 |
|
||
|
Усреднение в ТXТ/СSV файле
|
|||
|---|---|---|---|
|
#18+
White Owl VladConnУ нас он произносится именно Эксэс, с ударением на первую гласную! Це ж английский. У вас? В Коннектикуте? Странно. Первая гласная там краткая "а" должна быть. А ударение действительно на первый слог. White Owl, первая гласная там не "А", а "Эй". В закрытом слоге - просто "Э". Це ж английский. ;0) Буквы, ВСЕГДА обозначающей звук, близкий к русскому "А", у нас вообще нет. Но вот, к примеру, слово body (тело), произносится у нас как раз как "бади". У нас буковок то - 24 кажется. А звуков - много больше. Вот и смущаем весь честной народ. Не обессудь. Не виноватые мы. Нам римляне такой алфавит дали, сами мучаемся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2008, 23:35 |
|
||
|
Усреднение в ТXТ/СSV файле
|
|||
|---|---|---|---|
|
#18+
VladConnWhite Owl, первая гласная там не "А", а "Эй". В закрытом слоге - просто "Э". Це ж английский. ;0)Вот именно что английский. Краткий "а" там. В словарь загляни да у коллег спроси. И букв в алфавите 26 а не 24. А body произносящийся как бади это американизм. В британском английском там все же краткое "о" будет. И вообще, нашел кого учить языку :) Модератор: флуд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2008, 00:07 |
|
||
|
Усреднение в ТXТ/СSV файле
|
|||
|---|---|---|---|
|
#18+
White Owl, Нет там краткого "а'. Там аналог краткого русского "Э". Period! I speak English fluently... Even if it's Yankee English, why not to teach you, a bit ...? You can't bit me in this. Relax and enjoy! Talking seriously, it is likely that such a kind of pronunciation (I mean yours) nobody would even understand in USA. Well, they could (may be), however they would make it with a great dose of sympathy and compassion. :0)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2008, 15:36 |
|
||
|
Усреднение в ТXТ/СSV файле
|
|||
|---|---|---|---|
|
#18+
Я насчет флуда: только что увидел. В принципе, мы обсуждали корректное произношение терминологических слов, имеющих отношение к VB, правда не в тему вопроса, это надо признать. :0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2008, 15:56 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=35207240&tid=2162490]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
82ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 418ms |

| 0 / 0 |
