Главная страница
    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.047 c
15-1170421303
Дж.
2007-02-02 16:01
2007.02.25
Счетчик


15-1170506770
MsGuns
2007-02-03 15:46
2007.02.25
Из неопубликованного


2-1170676945
Alex_ey
2007-02-05 15:02
2007.02.25
treeview


2-1170428442
_SuN_
2007-02-02 18:00
2007.02.25
TRichEdid & TScrollBar


15-1170332176
апмав
2007-02-01 15:16
2007.02.25
Собрались брать на предприятие лицензионный Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский