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

Вниз

DOS-кие файлы и БД   Найти похожие ветки 

 
Kalishenko Stas   (2003-02-20 16:36) [0]

Такая задача: есть досовский текстовый файл, в котором есть информация по разным людям, т.е. имеет вид примерно такой:

Мартюк Юрий Васильевич - классный программист

________________________________________________
Доход \ Неизвестно
________________________________________________

Семейное положение - женат
Хобби - программирование

и т.д.
Потом идет следующий чувак, и так до бесконечности.

Так вот задача и состоит в вытягивании необходимой информации по конкретному человеку (под Виндой).

Помогите советом, как это реализовать.


 
Соловьев   (2003-02-20 16:37) [1]

Самому анализировать файл и вытягивать.


 
Chris   (2003-02-20 17:01) [2]

Для начала было бы неплохо, если "чуваки" отделялись друг от друга какой-либо специфической строкой, пусть это будет строка "@@@"

FlagRead: boolean;
ListChuvak: TStringList;
f: TextFile;

ListChuvak:=TStringList.Create;
AssignFile(f,"Text.txt");
Reset(f);
FlagRead:=False;
While not EOF(f) do
begin
ReadLn(f,s);
if FlagRead then
begin
if s="@@@" then
Break;
ListChuvak.Add(s);
end
else if pos(AnsiLowerCase(Chuvak),AnsiLowerCase(s))>0 then
begin
ListChuvak.Add(s);
FlagRead:=True;
end;
end;
CloseFile(f);


 
Kalishenko Stas   (2003-02-20 17:03) [3]

Каким образом анализировать? У меня идея в следующем: загнать в базу построчно, и тогда уже че-то анализировать. Но на первом этапе главная проблема в кодировке. Как файл из досовской кодировки преобразовать в виндовскую? У меня есть прога, делающая это плохо - знаки "_" или "-" преобразует в "д" или вообще игнорирует. Кроме того делает смещения строк при преобразовании. Можете че-нибудь посоветовать?


 
Соловьев   (2003-02-20 17:19) [4]

открой в Ексле и там посмотри.


 
MsGuns   (2003-02-20 17:36) [5]

>Соловьев © (20.02.03 17:19)
>открой в Ексле и там посмотри.

Совершенно в дырочку ! Мы именно так и делали. А потом сажается тетя и по указанному нами шаблону все это хозяйство приводит в "стройный" вид. После чего уже из экселя экспорт куда надо.


 
kalishenko stas   (2003-02-20 17:57) [6]

>>MsGuns
В смысле приводит в "стройный вид"? Это что же, каждый документ?

В Экселе у меня посмещало многие строки, так что способ как-то не очень. Или действительно все текстовики ручками переделывать, а потом уже работать с ними?


 
Соловьев   (2003-02-20 18:00) [7]

Как посмещало? Там настроеки при конвертации...Поиграй с ними...
Попробуй через Access. Или ручками...


 
kalishenko stas   (2003-02-20 18:19) [8]

Дело в том, что разделителей как таковых в документе нет, поэтому строки и посмещало.


 
Соловьев   (2003-02-20 18:22) [9]

А фиксированой длины? А удалить пробелы слабо?


 
kalishenko stas   (2003-02-20 18:33) [10]

>>А удалить пробелы слабо?
Что, во всем документе?

>>А фиксированой длины?
Пробовал. Все равно.



 
Tux   (2003-02-20 20:41) [11]

Необходим язык, позволяющий вольно обращаться со входными данными, прекрасно работающий с текстом и позволяющий решать неформальные задачи анализа + поддержка регулярных выражений. В итоге задача решается за полчаса. Если объем данных невелик, имеет смысл посадить тетю. Если от полмега - Perl, Awk, Python, Tcl - на выбор.


 
mfender   (2003-02-21 01:18) [12]

Насчет кодировок. Очень легко подменить символ CP688 на символ 1251. Пишется в четыре строки хвункция, возвращающая результ в нужное место. Таблица символов занимает немного больше места.

А вот что касается конвертации в удобоваримый вид - это вопрос. Раз вы работаете с энтими файлАми, вам и карты в руки. Руками делаете, значит, пардон, алгоритмизируете сей процесс. Если есть система, как разделены "поля", значить и конвертер написать можно. Неважно, чем они разделяются и в какой последовательности. Главное - была бы система. Конечно, если в одной строке, к примеру, поле имени с полем фамилии разделены @, а в следующей строке |, о каком преобразовании может идти речь? Гораздо проще печатную книгу проиндексировать....



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

Форум: "Базы";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.012 c
4-39633
TankMan
2002-12-18 01:19
2003.03.13
Как имитировать нажатие мышки в чужом приложении....


1-39353
Мыш
2003-03-01 20:35
2003.03.13
массив tstringlist


1-39373
grei
2003-03-02 19:37
2003.03.13
Открытие файлов через windows


3-39224
{{{KOTOS}}}
2003-02-23 12:01
2003.03.13
Почему при открытии БД PARADOX по сети появляется ошибка


1-39377
Kair
2003-03-02 21:28
2003.03.13
Загрузка в Image





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