Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.02.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.04 c
3-1165168049
001
2006-12-03 20:47
2007.02.25
Текстовая база


3-1164978857
Lexa11_2002
2006-12-01 16:14
2007.02.25
Как создать Autoincreament ое поле при помощи SQL запроса


2-1170659937
Officeman
2007-02-05 10:18
2007.02.25
Передать в MS Word


15-1170269226
RedBanner
2007-01-31 21:47
2007.02.25
Скрытая работа программы


2-1170612847
Lamer_5
2007-02-04 21:14
2007.02.25
Как работать с таймером?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский