|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.09.2011, 11:22 | #1 |
Пользователь
Регистрация: 20.09.2011
Сообщений: 14
|
Разбить данные в ячейке определенным образом
Добрый день Всем, уважаемые форумчане!
Столкнулся с одной проблемой, которая не поддается решению у меня Есть некие данные, содержащиеся в фале формата CSV. Данные представлены следующим образом: .... 2011.09.20 00:00:00,1,3623,1,3622,2,63,2,63 2011.09.20 00:00:01,1,36234,1,36222,1,5,3 .... Все бы ничего, но каждая строка находится в одной ячейке, а не в отдельных. то есть в идеале надо так: ____А_____|____B_____|____C___|___D ____|___E__|___F___| 2011.09.20_|_00:00:00_|_ 1,3623_|_1,3622__|_2,63_|__2,63__| 2011.09.20_|_00:00:01_|_1,36234_|_1 ,36222_|_1,5__|__3____| Пробовал импорт CSV c указанием разделителей - пробела и запятой, но в этом случае он разбивает все числа с запятыми в отдельные ячейки, а надо как на примере выше. Будьте добры, подскажите -каким методом можно разбить эти данные согласно указанного примера? Возможно есть какие-нить настраиваемые маски импорта? К примеру учитывать при разбиении только четные запятые? |
20.09.2011, 11:26 | #2 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 515
|
А фиксированным не пробовали? Или как вариант разбивка по количеству знаков в строке.
|
20.09.2011, 11:47 | #3 |
Пользователь
Регистрация: 20.09.2011
Сообщений: 14
|
В том то все и дело -что в каждая строка - разная по длине. В примере выше в ячейках С, D, E, F - данные разной длины относительно нижних
|
20.09.2011, 11:50 | #4 |
Форумчанин
Регистрация: 22.06.2011
Сообщений: 325
|
Вам тогда нужно нормально настроить выгрузку csv чтобы разделителем чисел была точка, или разделителем данных была точка с запятой
Заказать макрос можно на сайте http://excel4you.ru/
|
20.09.2011, 12:03 | #5 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Да, выгрузку настроить необходимо.
А для существующих файлов можно использовать макрос, который заменяет каждую нечетную запятую на ";" в выделенном диапазоне. Потом - текст по столбцам, разделитель ";". Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
20.09.2011, 12:25 | #6 |
Пользователь
Регистрация: 20.09.2011
Сообщений: 14
|
Большущее спасибо за макрос))
П.с. Выгрузка увы не в моей власти - файлы только в таком виде скачиваю с ресурса.. |
20.09.2011, 12:31 | #7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Я смотрю, там
1,5,3 проскочило. А если будет 3,1,5 - как делить будете? Или тут: 2011.09.20 00:00:04,1,36235,1,36225,2,25,3 2011.09.20 00:00:06,1,36233,1,36222,3,3 P.S. - как кто-то сказал - "А потом Челленджеры падают..."
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 20.09.2011 в 12:36. |
20.09.2011, 13:04 | #8 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
> Выгрузка увы не в моей власти - файлы только в таком виде скачиваю с ресурса.
Посмотрите, может там настройки какие есть. Напишите администратору ресурса. Потому что выдавать файлы, в которых десятичный разделитель совпадает с разделителем списка - это большой FAIL. Для корректной работы макроса числа обязаны содержать запятую, т.е. целые числа должны быть в виде ...,2,0,3,0,... или ...,2,,3,,...
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Последний раз редактировалось Казанский; 20.09.2011 в 13:06. |
20.09.2011, 13:07 | #9 |
Пользователь
Регистрация: 20.09.2011
Сообщений: 14
|
блиинн, а и вправду. во засада.
Так я пропускаю часть данных. А есть возможность импортировать эти данные из csv по их типу? Просто вот такую штуку у них вычитал: Файл состоит из последовательности блоков байтов одинаковой длинны, отсортированной по времени тиков, то есть первый блок - первый тик , второй - второй тик и т.д. Каждый блок байтов - это записанные в определенной последовательности данные тика, а именно: time, ask, bid, askVol, bidVol. Все значения кроме time являются 8байтовыми double (стандартный размер double), time - 8байтовый long. Итого размер блока - 5 * 8 = 40 байт. Зная эту длину можно запросто перескакивать на любой тик в файле В целом то понятно что каждая строчка - это блок, но как сам блок разделить на типы данных -здесь мои знания vba кончились |
20.09.2011, 13:09 | #10 |
Пользователь
Регистрация: 20.09.2011
Сообщений: 14
|
Уже писал им, им мои просьбы по барабану...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как разбить данные из одной ячейки по 4-м отдельным ячейкам? | lench | Microsoft Office Excel | 12 | 12.01.2012 08:20 |
Каким образом можно сделать таблицу Excel в ячейке Excel? | Severny | Microsoft Office Excel | 3 | 08.10.2010 09:13 |
Разбить данные из одного поля бд | Krasi | PHP | 4 | 15.03.2010 08:03 |
Нужно разбить те числа которые в одной ячейке по разным ячейчам в столбец | Alexander_Gr | Microsoft Office Excel | 8 | 20.11.2007 08:02 |