[Allegro] Vorgehensweise
Armin Stephan
armin.stephan at augustana.de
Fr Jan 24 09:53:41 CET 2014
Lieber Herr Berger,
könnte mir problemlos vorstellen, dass solch ein Programm die Aufgabe
lösen kann.
Leider bin ich aber des Programmierens nicht mächtig, sondern muss mich
mit den Mitteln von Allegro begnügen. (Plus Office-Programme, Texteditor
usw.)
Generell habe ich keine Datenbank vor mir, sondern nur eine Exportdatei,
die ich weiterverarbeiten muss.
Am 23.01.2014 13:13, schrieb Thomas Berger:
> Lieber Herr Stephan,
>
>> Ich habe Ausgangsdaten, in denen Schlagwort-Ketten in #31er-Kategorien
>> vorkommen, auch mehrere Schlagwort-Ketten in einer Kategorie. Nach der
>> Konvertierung sollen statt der Schlagwörter an dieser Stelle ID-Nummern stehen.
>>
>> Also:
>>
>> Ausgangsfeld: Schlagwort Eins / Schlagwort Zwei / Schlagwort Drei ; Schlagwort
>> Vier / Schlagwort Fünf ; Schlagwort Vier / Schlagwort Zwei / Schlagwort Eins
>>
>> Zielfeld: 1 / 2 / 3 ; 4 / 5 ; 4 / 2 / 1
>>
>> Ich verfüge über eine Konkordanz-Tabelle, in der die Schlagwörter und die
>> zugehörigen ID-Nummern stehen.
>
> Es koennte von Belang sein, ob die Daten hinterher in der Datenbank sein
> sollen, oder ob diese Ersetzungen nur fuer einen bestimmten Export
> gelten sollen.
>
> Anscheinend liegt Ihre Konkordanz nur in der Tabelle vor, nicht in Form
> etwa von Normdatensaetzen innerhalb der Datenbank? Im letzteren Fall
> koennte man mit Mitteln der Exportsprache ja einfach "nachgucken", was
> die Nummer sein soll...
>
> In der anderen Mail erwaehnten Sie 20.000 Ersetzungen, das ist ein Klacks,
> d.h. Sie koennen einen regulaeren Ausdruck bauen, der dann auf die
> Datenfelder (in einem Text-Export) losgelassen werden kann, also etwa
>
> #!/usr/bin/perl -w
> use strict;
>
> my %konk;
>
> open(SLURP, "<konkordanz.tab");
> while (<SLURP>) {
> chomp;
> my($text, $id) = split(/\t/, $_);
> next unless $id;
> $konk{$text} = $id;
> };
> close(SLURP);
>
> my $riesenRegExp = join("|", map{quotemeta} reverse sort keys %konk);
>
> while ( <> ) {
> chomp;
> 1 while s!^(#31.*[/;]\s*)($riesenRegExp)(\s*[/;]|$)!$1.$konk{$2}.$3/eo;
> print "$_\n";
>
> }
>
>
> (nicht getestet)
>
> viele Gruesse
> Thomas Berger
> _______________________________________________
> Allegro mailing list
> Allegro at biblio.tu-bs.de
> http://sunny5.biblio.etc.tu-bs.de/mailman/listinfo/allegro
>
--
Mit freundlichen Gruessen
*Armin Stephan*
/Jefe de Biblioteca/
Augustana-Hochschule / Bibliothek
Waldstr. 15
*D-91564 Neuendettelsau*
Tel. 09874/509-300
|
| ,__o
| _-\_<,
| (*)/'(*)
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://bibservices.biblio.etc.tu-bs.de/pipermail/allegro/attachments/20140124/293f8a7a/attachment.html>
Mehr Informationen über die Mailingliste Allegro