Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Обработка текста для импорта в базу данных - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Обработка текста для импорта в базу данных (Формулы/Formulas)
Обработка текста для импорта в базу данных
starflight Дата: Вторник, 27.10.2015, 15:07 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Доброго дня всем!

Нужно импортировать информацию в базу данных CRM-системы.
Данные (в моем случае) экспортируются c CD "Большая телефонная книга" в текстовом формате.
Для импорта их необходимо представить в виде таблицы в csv-файле.
Собственно, вопрос, как их в эту таблицу разместить, учитывая, что часть данных из текста не нужна.

Название и адрес, я надеюсь, смогу и самостоятельно выделить из столбца NAME результата, а вот отсортировать ненужное и распределить необходимое, боюсь, мне пока не по уровню знаний.

Если есть способы решить эту задачу проще, без использования Excel, также буду признателен за подсказку.
К сообщению приложен файл: txt_import.xls (29.0 Kb)
 
Ответить
СообщениеДоброго дня всем!

Нужно импортировать информацию в базу данных CRM-системы.
Данные (в моем случае) экспортируются c CD "Большая телефонная книга" в текстовом формате.
Для импорта их необходимо представить в виде таблицы в csv-файле.
Собственно, вопрос, как их в эту таблицу разместить, учитывая, что часть данных из текста не нужна.

Название и адрес, я надеюсь, смогу и самостоятельно выделить из столбца NAME результата, а вот отсортировать ненужное и распределить необходимое, боюсь, мне пока не по уровню знаний.

Если есть способы решить эту задачу проще, без использования Excel, также буду признателен за подсказку.

Автор - starflight
Дата добавления - 27.10.2015 в 15:07
Мурад Дата: Вторник, 27.10.2015, 16:22 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
starflight, Все записи разделены пустой строкой?
 
Ответить
Сообщениеstarflight, Все записи разделены пустой строкой?

Автор - Мурад
Дата добавления - 27.10.2015 в 16:22
SLAVICK Дата: Вторник, 27.10.2015, 16:58 | Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Буквально вчера была тема.
Посмотрите - просто нужно заменить на свой диапазон данных :D
что часть данных из текста не нужна.

Что за часть? из примера не понятно.


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Вторник, 27.10.2015, 16:59
 
Ответить
СообщениеБуквально вчера была тема.
Посмотрите - просто нужно заменить на свой диапазон данных :D
что часть данных из текста не нужна.

Что за часть? из примера не понятно.

Автор - SLAVICK
Дата добавления - 27.10.2015 в 16:58
starflight Дата: Среда, 28.10.2015, 11:28 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
starflight, Все записи разделены пустой строкой?

Получается, что да, все.

Буквально вчера была тема.
Посмотрите - просто нужно заменить на свой диапазон данных :D

Спасибо, посмотрю.

Что за часть? из примера не понятно.

В первой записи информация из 2,3,5,7,8 строк не требуется. Далее по аналогии.
 
Ответить
Сообщение
starflight, Все записи разделены пустой строкой?

Получается, что да, все.

Буквально вчера была тема.
Посмотрите - просто нужно заменить на свой диапазон данных :D

Спасибо, посмотрю.

Что за часть? из примера не понятно.

В первой записи информация из 2,3,5,7,8 строк не требуется. Далее по аналогии.

Автор - starflight
Дата добавления - 28.10.2015 в 11:28
starflight Дата: Пятница, 30.10.2015, 12:39 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Буквально вчера была тема.
Посмотрите - просто нужно заменить на свой диапазон данных :D

Посмотрел.
На данном этапе мне кажется, что пример достаточно далек от того, что мне нужно.
Он выводит данные из excel в текстовый файл, а мне нужно из текстового файла информацию отфильтровать и по столбцам распределить.
Может, его и достаточно просто "перевернуть" в обратную сторону, но не для моей квалификации.


UBound(x), как я понимаю, задает максимальное количество строк в документе (на листе).
UBound(x, 2) - максимальное количество символов в строке?

i пробегает все строки, а j - всю информацию на строке, независимо от деления на колонки?


Сообщение отредактировал starflight - Пятница, 30.10.2015, 13:36
 
Ответить
Сообщение
Буквально вчера была тема.
Посмотрите - просто нужно заменить на свой диапазон данных :D

Посмотрел.
На данном этапе мне кажется, что пример достаточно далек от того, что мне нужно.
Он выводит данные из excel в текстовый файл, а мне нужно из текстового файла информацию отфильтровать и по столбцам распределить.
Может, его и достаточно просто "перевернуть" в обратную сторону, но не для моей квалификации.


UBound(x), как я понимаю, задает максимальное количество строк в документе (на листе).
UBound(x, 2) - максимальное количество символов в строке?

i пробегает все строки, а j - всю информацию на строке, независимо от деления на колонки?

Автор - starflight
Дата добавления - 30.10.2015 в 12:39
SLAVICK Дата: Пятница, 30.10.2015, 13:50 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Он выводит данные из excel в текстовый файл, а мне нужно из текстового файла информацию отфильтровать и по столбцам распределить.

а откуда понятно, что нужно наоборот считать из ТХТ, если:
Для импорта их необходимо представить в виде таблицы в csv-файле.
Собственно, вопрос, как их в эту таблицу разместить, учитывая, что часть данных из текста не нужна.

csv - это текстовый файл, а не таблица.
Если нужно считать данные из текстового файла- то почему Вы не вложили пример этого файла?
По считыванию данных из текста почитайте здесь и здесь :D


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Пятница, 30.10.2015, 13:53
 
Ответить
Сообщение
Он выводит данные из excel в текстовый файл, а мне нужно из текстового файла информацию отфильтровать и по столбцам распределить.

а откуда понятно, что нужно наоборот считать из ТХТ, если:
Для импорта их необходимо представить в виде таблицы в csv-файле.
Собственно, вопрос, как их в эту таблицу разместить, учитывая, что часть данных из текста не нужна.

csv - это текстовый файл, а не таблица.
Если нужно считать данные из текстового файла- то почему Вы не вложили пример этого файла?
По считыванию данных из текста почитайте здесь и здесь :D

Автор - SLAVICK
Дата добавления - 30.10.2015 в 13:50
starflight Дата: Пятница, 30.10.2015, 14:23 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Если нужно считать данные из текстового файла- то почему Вы не вложили пример этого файла?

Я его просто сразу в приложенный файл excel вставил - в лист "текст" в сокращенном виде.

Мне кажется, из него проще информацию рассортировывать. Но тут я могу и ошибаться. )
К сообщению приложен файл: 4446415.txt (45.8 Kb) · 1718699.xls (49.0 Kb)


Сообщение отредактировал starflight - Пятница, 30.10.2015, 15:50
 
Ответить
Сообщение
Если нужно считать данные из текстового файла- то почему Вы не вложили пример этого файла?

Я его просто сразу в приложенный файл excel вставил - в лист "текст" в сокращенном виде.

Мне кажется, из него проще информацию рассортировывать. Но тут я могу и ошибаться. )

Автор - starflight
Дата добавления - 30.10.2015 в 14:23
SLAVICK Дата: Суббота, 31.10.2015, 13:49 | Сообщение № 8
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Вот макрос для сбора:

Мне кажется, из него проще информацию рассортировывать. Но тут я могу и ошибаться. )

Можете :D
Поменял структуру листа Текст - так, чтобы вся информация по организации была в одной строке - тогда легче получить нужные данные.
Несколько столбцов заполнил формулами - по остальным - напишите примеры либо критерии.
К сообщению приложен файл: 1718699-1-.xlsm (85.3 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Суббота, 31.10.2015, 14:45
 
Ответить
СообщениеВот макрос для сбора:

Мне кажется, из него проще информацию рассортировывать. Но тут я могу и ошибаться. )

Можете :D
Поменял структуру листа Текст - так, чтобы вся информация по организации была в одной строке - тогда легче получить нужные данные.
Несколько столбцов заполнил формулами - по остальным - напишите примеры либо критерии.

Автор - SLAVICK
Дата добавления - 31.10.2015 в 13:49
starflight Дата: Четверг, 05.11.2015, 11:10 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Поменял структуру листа Текст - так, чтобы вся информация по организации была в одной строке - тогда легче получить нужные данные.
Несколько столбцов заполнил формулами - по остальным - напишите примеры либо критерии.

Спасибо за помощь!!! Попробовал с другим текстовым файлом, всё работает.

Теперь, правда, еще день потребуется,чтобы разобраться, КАК оно работает. )))

Вроде, больше пока ничего не надо, из того, что сам не сделаю. Понадобится - обязательно о Вас вспомню!!! )))


Сообщение отредактировал starflight - Четверг, 05.11.2015, 12:18
 
Ответить
Сообщение
Поменял структуру листа Текст - так, чтобы вся информация по организации была в одной строке - тогда легче получить нужные данные.
Несколько столбцов заполнил формулами - по остальным - напишите примеры либо критерии.

Спасибо за помощь!!! Попробовал с другим текстовым файлом, всё работает.

Теперь, правда, еще день потребуется,чтобы разобраться, КАК оно работает. )))

Вроде, больше пока ничего не надо, из того, что сам не сделаю. Понадобится - обязательно о Вас вспомню!!! )))

Автор - starflight
Дата добавления - 05.11.2015 в 11:10
starflight Дата: Понедельник, 09.11.2015, 10:33 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Немножко рано я обрадовался. Получившийся файл система не приняла.

Обратился к разработчикам, прислали в ответ, что получившийся файл имеет несколько лишних переносов строк.

Т.е. нужен вид первого файла, а получается при просмотре в txt вид второго.

Можно как-то поправить?
К сообщению приложен файл: 9859387.jpg (25.3 Kb) · 8859713.jpg (25.4 Kb)
 
Ответить
СообщениеНемножко рано я обрадовался. Получившийся файл система не приняла.

Обратился к разработчикам, прислали в ответ, что получившийся файл имеет несколько лишних переносов строк.

Т.е. нужен вид первого файла, а получается при просмотре в txt вид второго.

Можно как-то поправить?

Автор - starflight
Дата добавления - 09.11.2015 в 10:33
SLAVICK Дата: Понедельник, 09.11.2015, 11:36 | Сообщение № 11
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Это потому - что у Вас в исходной таблице есть переносы строки - нужно их удалять. :o
И разделитель у Вас должен быть ";"
Замените строку:
[vba]
Код
y(i) = y(i) & vbTab & x(i, j)
[/vba]
на
[vba]
Код
y(i) = y(i) & ";" & Replace(x(i, j), vbCr, " ", , , vbTextCompare)
[/vba]


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеЭто потому - что у Вас в исходной таблице есть переносы строки - нужно их удалять. :o
И разделитель у Вас должен быть ";"
Замените строку:
[vba]
Код
y(i) = y(i) & vbTab & x(i, j)
[/vba]
на
[vba]
Код
y(i) = y(i) & ";" & Replace(x(i, j), vbCr, " ", , , vbTextCompare)
[/vba]

Автор - SLAVICK
Дата добавления - 09.11.2015 в 11:36
starflight Дата: Вторник, 10.11.2015, 13:51 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Замените строку:
y(i) = y(i) & vbTab & x(i, j)
на
y(i) = y(i) & ";" & Replace(x(i, j), vbCr, " ", , , vbTextCompare)

Строку я заменил (файл 1). Перенос строк остался на месте.
Более того, каждая строка адреса стала дублироваться и появилась куча лишних точек с запятой, включая даже начало первой строки. (файл 2).

К сообщению приложен файл: 1718699-3.xlsm (93.2 Kb) · 1073448.jpg (29.5 Kb)


Сообщение отредактировал starflight - Вторник, 10.11.2015, 13:51
 
Ответить
Сообщение
Замените строку:
y(i) = y(i) & vbTab & x(i, j)
на
y(i) = y(i) & ";" & Replace(x(i, j), vbCr, " ", , , vbTextCompare)

Строку я заменил (файл 1). Перенос строк остался на месте.
Более того, каждая строка адреса стала дублироваться и появилась куча лишних точек с запятой, включая даже начало первой строки. (файл 2).


Автор - starflight
Дата добавления - 10.11.2015 в 13:51
SLAVICK Дата: Вторник, 10.11.2015, 14:00 | Сообщение № 13
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Хм - у меня по Вашему примеру все четко отработало - 4е строки - как положено :D
Вы точно тот файл смотрите? :o
Тот скрин, что Вы приложили - был раньше :yes:
Вот полный код:

Добавил строку удаления 1-го знака ";" вначале строки.
К сообщению приложен файл: heet44.txt (1.8 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Вторник, 10.11.2015, 14:19
 
Ответить
СообщениеХм - у меня по Вашему примеру все четко отработало - 4е строки - как положено :D
Вы точно тот файл смотрите? :o
Тот скрин, что Вы приложили - был раньше :yes:
Вот полный код:

Добавил строку удаления 1-го знака ";" вначале строки.

Автор - SLAVICK
Дата добавления - 10.11.2015 в 14:00
starflight Дата: Вторник, 10.11.2015, 16:04 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Тот скрин, что Вы приложили - был раньше :yes:
Нет, скрин, конечно, другой - с лишними строками удвоенных адресов и множеством лишних ;;;;;;;;;;; )

А вот что в Вашем коде делает файл sheet44.txt, я вообще не понимаю.
Я на него и внимания не обращал особенного. Адрес файла для взятия информации я прописывал в другую часть кода,
Sub t(), где у Вас адрес 4446415.txt стоял.


Очищал лист "текст". Жал на кнопку.
Потом на листе "результат" удалял содержание всех срок, кроме трех верхних
и копировал содержимое 3-й сроки вниз через правый нижний угол.
На выходе брал содержимое листа "результат" и сохранял в csv-файл (разделители - запятые).

Результат прилагаю.

Что не так делал?

[p.s.]И почему у Вас спойлер в рамочке, а у меня нет? )[/p.s.]
[moder]Потому что код нужно кнопкой # обтягивать.
А под спойлер прячут, если код много места занимает[/moder]
К сообщению приложен файл: 1718699-3.csv (41.8 Kb)


Сообщение отредактировал starflight - Вторник, 10.11.2015, 16:40
 
Ответить
Сообщение
Тот скрин, что Вы приложили - был раньше :yes:
Нет, скрин, конечно, другой - с лишними строками удвоенных адресов и множеством лишних ;;;;;;;;;;; )

А вот что в Вашем коде делает файл sheet44.txt, я вообще не понимаю.
Я на него и внимания не обращал особенного. Адрес файла для взятия информации я прописывал в другую часть кода,
Sub t(), где у Вас адрес 4446415.txt стоял.


Очищал лист "текст". Жал на кнопку.
Потом на листе "результат" удалял содержание всех срок, кроме трех верхних
и копировал содержимое 3-й сроки вниз через правый нижний угол.
На выходе брал содержимое листа "результат" и сохранял в csv-файл (разделители - запятые).

Результат прилагаю.

Что не так делал?

[p.s.]И почему у Вас спойлер в рамочке, а у меня нет? )[/p.s.]
[moder]Потому что код нужно кнопкой # обтягивать.
А под спойлер прячут, если код много места занимает[/moder]

Автор - starflight
Дата добавления - 10.11.2015 в 16:04
SLAVICK Дата: Среда, 11.11.2015, 12:21 | Сообщение № 15
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Вы меня запутали или сами запутались. :o
Макрос Sub t() - для считывания информации из текстового файла, который Вы прикладывали в 7-м посте.
с созданием файла - он не имеет ничего общего.
Макрос Sub example() - для создания текстового файла из данных листа. именно этот макрос создает файл sheet44.txt в той же папке откуда был открыт файл Excel. И именно после выполнения этого макроса - создается файл, который я прикладывал в 13-м посте.
Чтобы не было недоразумений - см. файл - оставил в нем только один лист и один макрос - для создания файла из рабочего диапазона этого листа.
К сообщению приложен файл: 1718699-3-5-.xlsm (18.5 Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеВы меня запутали или сами запутались. :o
Макрос Sub t() - для считывания информации из текстового файла, который Вы прикладывали в 7-м посте.
с созданием файла - он не имеет ничего общего.
Макрос Sub example() - для создания текстового файла из данных листа. именно этот макрос создает файл sheet44.txt в той же папке откуда был открыт файл Excel. И именно после выполнения этого макроса - создается файл, который я прикладывал в 13-м посте.
Чтобы не было недоразумений - см. файл - оставил в нем только один лист и один макрос - для создания файла из рабочего диапазона этого листа.

Автор - SLAVICK
Дата добавления - 11.11.2015 в 12:21
starflight Дата: Пятница, 13.11.2015, 12:57 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Вы меня запутали или сами запутались. :o

Продолжаем разговор... )

Как я понимаю алгоритм действий.
пункт первый) Открывается файл и кнопкой запускается макрос t, читающий информацию из текстового файла в лист "текст".
.
.
.
пункт последний) запуском макроса example информация с листа "шаблон для расширенного импорта" записывается в файл sheet44.txt

Так - не так?

P.S. Вот сейчас я информацию из листа "результат" перенес на страницу "шаблон...", запустил example, переименовал sheet44.txt в sheet44.csv и импорт в CRM прошел успешно!!!
Ура, товарищи!!! )))

Спасибо, SLAVICK!

C прошедшим днем рождения!
Здоровья и всех прочих благ!


Сообщение отредактировал starflight - Пятница, 13.11.2015, 16:14
 
Ответить
Сообщение
Вы меня запутали или сами запутались. :o

Продолжаем разговор... )

Как я понимаю алгоритм действий.
пункт первый) Открывается файл и кнопкой запускается макрос t, читающий информацию из текстового файла в лист "текст".
.
.
.
пункт последний) запуском макроса example информация с листа "шаблон для расширенного импорта" записывается в файл sheet44.txt

Так - не так?

P.S. Вот сейчас я информацию из листа "результат" перенес на страницу "шаблон...", запустил example, переименовал sheet44.txt в sheet44.csv и импорт в CRM прошел успешно!!!
Ура, товарищи!!! )))

Спасибо, SLAVICK!

C прошедшим днем рождения!
Здоровья и всех прочих благ!

Автор - starflight
Дата добавления - 13.11.2015 в 12:57
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Обработка текста для импорта в базу данных (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!