|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.11.2010, 17:06 | #1 |
Новичок
Джуниор
Регистрация: 07.11.2010
Сообщений: 5
|
Вытащить данные из нескольких файлов
Здравствуйте, подскажите пожалуйста, как решить такую проблему:
есть много файлов вида f_dd.mm.yyyy.csv (текстовый с разделителем ";") в них содержатся данные за дату dd.mm.yyyy по двум товарам A и B например: A;300 B;800 Как объединить все эти данные в одну таблицу, например с такой шапкой: ДАТА А B С экселем дружу не сильно, в голову приходит только макрос на открытие файла, копирование, вставка но опять же это придется записывать вручную для каждого файла его имя. |
07.11.2010, 17:25 | #2 | |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Цитата:
-а не выложить ли парочку файлов CSV строк по 20 каждый.Да бы тот,кто будет писать макрос не напрягался в создании файлов.
Анализ,обработка данных Недорого
|
|
07.11.2010, 17:39 | #3 |
Новичок
Джуниор
Регистрация: 07.11.2010
Сообщений: 5
|
Добавил вложение с несколькими файлами, на самом деле их гораздо больше, но думаю для теста этого хватит
|
07.11.2010, 17:51 | #4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Объединить можно так:
copy /b f*.csv all.csv Потом кодом переложить по колонкам, и добавить шапку. Хотя дата так будет потеряна... Ну как простой вариант.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 07.11.2010 в 17:56. |
07.11.2010, 18:20 | #5 |
Новичок
Джуниор
Регистрация: 07.11.2010
Сообщений: 5
|
Перерывов в датах нет, так что ничего не потеряется, единственная проблема, обработалось в таком порядке:
f_01.11.2010.csv f_02.11.2010.csv f_03.11.2010.csv f_04.11.2010.csv f_05.11.2010.csv f_31.10.2010.csv Т.е. файл за 31.10.2010 обработался последним |
07.11.2010, 18:32 | #6 |
Новичок
Джуниор
Регистрация: 07.11.2010
Сообщений: 5
|
в принципе можно объеденять по месяцам, т.е. copy /b f*10.2010.csv all.csv
Тогда остается одна проблема, как таблицу вида A 1537 B 5634 A 3453 B 2834 A 734 B 910 A 1612 B 678 A 3431 B 2671 A 1634 B 2934 Перевести в таблицу с двумя столбцами A B |
07.11.2010, 20:30 | #7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Ну перевести в два столбца не проблема, есть много вариантов.
Например, перебирать циклом, анализировать первый столбец и соответственно копировать в один или другой столбец. Я бы сделал на массивах. Евгений наверняка предложит на ADO. Но всеж даты важны или не очень? Потому что перебирать файлы тоже можно, но код будет сложнее. Сложить всё в один файл и преобразовать его намного легче. На массивах вот прикидка, вместо b12 нужно динамически границу определить, например iLastrow = Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row all = Range("a1:b" & iLastrow).Value Код:
Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 07.11.2010 в 20:57. |
07.11.2010, 21:24 | #8 |
Новичок
Джуниор
Регистрация: 07.11.2010
Сообщений: 5
|
Hugo121, Большое спасибо за помощь (проверьте вебмани)
Сделал так: 1) По месяцам: PHP код:
PHP код:
Получили столбец D где данные по А, где данные по Б - пусто, для соседнего столбца E - наоборот 3)Избавляемся от лишних пробелов: Присваиваем Столбцу D Имя ЕстьПустые1, столбцу E Есть Пустые2 Столбцу F НетПустых1, столбцу G НетПустых2 встаем в F1 PHP код:
растягиваем до половины таблицы добавляем даты в столбец с датой 01.01.2010, 02.01.2010, растягиваем вниз пока есть значения, убеждаемся, что последняя дата- сегодняшнее число, все готово Муторно конечно, но вроде работает Последний раз редактировалось mmvds; 07.11.2010 в 22:20. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макрос, вытащить данные и расставить по местам | kzld | Microsoft Office Excel | 25 | 06.01.2013 09:11 |
вытащить данные из бинарного файла | Sanprof | Общие вопросы Delphi | 21 | 25.06.2010 10:37 |
Сумировать данные из нескольких файлов excel в 1 общий | Miishka | Microsoft Office Excel | 8 | 12.11.2009 07:49 |
Как из нескольких файлов *.xls выбрать нужные данные суммировать их и скопировать в уже готовую форму | Иван123456 | Microsoft Office Excel | 2 | 07.08.2009 21:50 |
Вытащить данные из MySQL | Droid | PHP | 3 | 22.12.2008 23:23 |