Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.25;
Скачать: CL | DM;

Вниз

Распределить текст по разным столбцам   Найти похожие ветки 

 
Chort ©   (2007-01-30 19:59) [0]

Здравствуйте! Есть у меня база данных novom.mdb, которая содержит адреса населения города.
Для  адреса - отведен один столбец. Адрес содержит в себе почтовый индекс, улицу,номер дома и название города(разделены они в записи запятыми).
Так вот главная проблема - каким образом можно разбить этот один столбец на 4 столбца(в одном столбце только индексы, во втором - город,и т.д.)?
Заранее благодарен!


 
Olivetti   (2007-01-30 20:11) [1]

Распарсить. Результат - не гарантирован, по причине, что входные данные могут не соответствовать описанной структуре, например, в некоторых записях упущены запятые, отсутствуют некоторые данные (поспрашивай, тут некоторые считают, например, что вол всем мире - только один город... ага) ...


 
Chort ©   (2007-01-30 20:17) [2]

Каким образом можно "распарсить"?Дело в том что сначала это была таблица Excel, потом я ее импортировал в Access. Может легче можно разделить в Excel, а потом уже импортировать?


 
Virgo_Style ©   (2007-01-30 20:22) [3]

Chort ©   (30.01.07 20:17) [2]
Каким образом можно "распарсить"?


pos(), copy() ...


 
Olivetti   (2007-01-30 21:10) [4]

procedure ParseAddress(Address: string);
var
 SL: TStringList;
begin
 SL := TStringList.Create;
 try
   SL.Delimiter := ",";
   // Тут можно предварительно обработать возможные артефакты
   SL.DelimitedText := Address;
   // Тут еще обработку артефактов реализовать, но уже на уровне разделенных строк
   // И теперь в SL[0] - индекс, в SL[1] - улица и т. д.
 finally
   SL.Free;
 end;
end;


P.S. Будут еще и проблемы с пробелами в названии улиц и городов, то есть, TStringList будет по пробелам разбивать строки, но это уже решай сам.


 
Chort ©   (2007-01-31 14:30) [5]


> Olivetti   (30.01.07 21:10) [4]

Спасибо! Буду пытатся применить эту процедуру.


 
Jeer ©   (2007-01-31 15:05) [6]


> Chort ©   (31.01.07 14:30) [5]


Ошибка - надо пытаться применить "свою" голову.


 
alien1769 ©   (2007-01-31 15:44) [7]

Напиши свой интерпритатор по разбору этой смеси. Сначала выдели номера домов и квартир и т.д. Что сложного ?


 
Chort ©   (2007-01-31 15:50) [8]


> Напиши свой интерпритатор по разбору этой смеси. Сначала
> выдели номера домов и квартир и т.д. Что сложного ?

Для вас все легко. Я с таким ни разу не сталкивался, а потому не знаю с чего нужно брать старт. Короче говоря я сделал по иному:
Сделал экспорт в текстовый файл(сделал разделителем запятую),а потом сделал импорт в Access. Все прекрасно распределилось!


 
Amoeba ©   (2007-01-31 16:27) [9]


> сделал импорт в Access. Все прекрасно распределилось!
>

Счастливчик! С учетов сказанного в [1] и [4] тебе просто невиданно повезло!


 
Chort ©   (2007-01-31 17:21) [10]


> Amoeba ©

Я, можно сказать, в рубашке родился:)


 
evvcom ©   (2007-02-02 08:41) [11]

Я такие вещи всегда в Excel делал. Большинство автоматом, а ошибки имеется возможность вручную подкорректировать. И далее еще включаешь автофильтр, и довольно удобно искать синтаксические ошибки.



Страницы: 1 вся ветка

Текущий архив: 2007.02.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.03 c
2-1170944309
olevacho_
2007-02-08 17:18
2007.02.25
проблемма с типом boolean


15-1170356427
adsl
2007-02-01 22:00
2007.02.25
Трафик


15-1170301267
Slider007
2007-02-01 06:41
2007.02.25
С днем рождения ! 1 февраля


2-1170926132
kilop
2007-02-08 12:15
2007.02.25
как сделать так чтобы при запуске форма появлялась в центре


15-1170588148
SkySpeed
2007-02-04 14:22
2007.02.25
Можно ли исп-вать флэшку в качестве доп. опер. памяти в WinXP?