|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.02.2015, 15:02 | #1 |
Новичок
Джуниор
Регистрация: 10.02.2015
Сообщений: 3
|
Преобразование выгрузки в CSV
Есть текстовый файл выгрузки вида:
CFullName: тексттексттексттекст CShortName:тексттексттексттекст CPhone:тексттексттексттекст CFax:тексттексттексттекст CZip:тексттексттексттекст CEmail:тексттексттексттекст CTelex:тексттексттексттекст CAddress:тексттексттексттекст CTopic:тексттексттексттекст CFCDate:тексттексттексттекст CFCPlace:тексттексттексттекст CAccManager:тексттексттексттекст CSize:тексттексттексттекст CMainPur:тексттексттексттекст Author:тексттексттексттекст CCountry:тексттексттексттекст CRegion:тексттексттексттекст CCity:тексттексттексттекст CCategory:тексттексттексттекст CRelType:тексттексттексттекст CRelState:тексттексттексттекст CImp:тексттексттексттекст cfn:тексттексттексттекст csn:тексттексттексттекст $UpdatedBy:тексттексттексттекст После этого пять пустых строк и опять перечисление этих полей (иногда полей больше) с их значениями. И так далее. Всего где то 45 тысяч строк. Необходимо преобразовать в CSV файл, с возможностью выбора столбцов (ненужные не запоминать). |
10.02.2015, 15:44 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Открыть в Экселе, разбить по столбцам по двоеточию, сохранить в формате csv.
Если нужно что-то другое - с Вас два файла - что есть и как надо.
webmoney: E265281470651 Z422237915069 R418926282008
|
10.02.2015, 15:58 | #3 | |
Новичок
Джуниор
Регистрация: 10.02.2015
Сообщений: 3
|
Цитата:
Нужен такой вид такой вид: Первая строка - CFullName,CshortName,CPhone,CFax,CZ ip,CEmail,CTelex,CAdress,CTopic,CAc cManager,CCountry,CRegion,CCity,CCa tegory,CRelType,CRelState Последующие строки содержать перечисление значений соответственно первой строке - текст1,текст2,текст3,текст4,текст5 и т.д. Я написал такой макрос, но он берет только одну ячейку: Sub тест() Sheets("current").Activate x = InputBox("введите искомое значение") c = Cells.Find(What:=x).Column r = Cells.Find(What:=x).Row f = Cells(r, c + 1).Value y = 1 Sheets("new").Activate Cells(2, y).Value = f y = y + 1 End Sub Последний раз редактировалось Yuri Toropchin; 10.02.2015 в 16:09. Причина: Прикрепил примерные модели. |
|
10.02.2015, 16:11 | #4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Ну в общем так я и преполагал... Но вдруг не так нужно
Сделать можно, нужны массивы-словари-коллекции, и можно сделать без Экселя (скриптом wsh/vbs). Но работы минимум на час, на работе столько свободного времени нет. Сверхурочно вечером в выходной работать неохота... Да и примеры файлов обязательны. Правда с 100% предоплатой могу сделать на своих, но без гарантии на Ваших
webmoney: E265281470651 Z422237915069 R418926282008
|
10.02.2015, 16:16 | #5 | |
Новичок
Джуниор
Регистрация: 10.02.2015
Сообщений: 3
|
Цитата:
|
|
10.02.2015, 16:27 | #6 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Не, Ваш макрос не знаю как изменить, я алгоритм вижу совершенно другим - разбить текст в массив (ну или можно его читать построчно), перебрать построчно собирая коллекцию названий столбцов и словарь группа/название+значение.
Затем цикл в цикле по коллекции, из словаря берём значение и пишем в строку в файл. Всё в общем. Час на реализацию.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 10.02.2015 в 21:58. Причина: очепятка... |
10.02.2015, 23:25 | #7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Заготовка:
Код:
webmoney: E265281470651 Z422237915069 R418926282008
|
11.02.2015, 00:59 | #8 | |
Форумчанин
Регистрация: 14.02.2009
Сообщений: 753
|
Цитата:
Слепил из "того, что было"(во вложении) Запустить, выбрать что надо, нажать "Сделать". Рядом будет csv
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru Последний раз редактировалось alex77755; 11.02.2015 в 02:26. |
|
11.02.2015, 01:15 | #9 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Alex, не работает
Т.е. конечно работает, но на таких данных не понять, что именно оно туда лепит... Анализ показал что всюду лепит первую группу.
webmoney: E265281470651 Z422237915069 R418926282008
|
11.02.2015, 01:22 | #10 |
Форумчанин
Регистрация: 14.02.2009
Сообщений: 753
|
Не могу согласиться. Вроде выбранные выдаёт
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Открытие выгрузки из SAP | 27102014 | Microsoft Office Excel | 3 | 18.12.2014 15:53 |
Ускорить процесс выгрузки из БД | Jl6owa | БД в Delphi | 8 | 29.03.2012 02:13 |
Преобразование 30 таблиц в CSV файлы. | kola672 | Софт | 1 | 28.09.2010 14:49 |
Экспорт в csv и импорт из csv | cent | Microsoft Office Excel | 12 | 28.12.2008 19:50 |