Importieren von Daten in die Filemaker-Datenbank

Wir haben uns nun eine Datenbank erstellt, in die wir einzelne Datensätze eingeben können. In der Korpuslinguistik ist es aber oft so, dass wir bereits eine grosse Menge an elektronisch verfügbaren Daten haben, die wir möglichst einfach in unsere Datenbank importieren wollen. Die Import-Funktion von Filemaker – ähnlich auch bei den meisten anderen Datenbanksystemen – hilft uns dabei.

Import von Excel-Dateien und anderen Datenbankformaten

Relativ einfach ist es, Excel-Dateien oder andere Datenbankformate in Filemaker zu importieren. Bei Excel-Dateien werden die Spalten automatisch erkannt. Man muss beim Importieren bloss festlegen, welche Spalten welchen Feldern in der Datenbank entsprechen.


In einer Vorschau kann die Reihenfolge der Felder überprüft werden: Hier sehen wir links einen Datensatz der zu importierenden Datei in der Vorschau mit der Felderzuordnung in der Datenbank rechts. Die Pfeile bedeuten, dass diese Informationen importiert werden; es kann aber auch markiert werden, wenn gewisse Felder ignoriert werden sollen.

Import von Text-Dateien

Oft liegen die zu importierenden Daten aber nicht bereits strukturiert vor, sondern als Word-, RTF- oder Text-Dateien. Kann man die Daten in reinen Text umwandeln, helfen die Text-Import-Funktionen weiter: Alle Datenbanken lesen Textdateien in Listenform, z.B. als kommaseparierte Textdateien, ein. Das sieht dann z.B. so aus:

"Korpuslinguist verschollen!", "Im Korpus verschwunden?", "1. April 2006", "Noam Chomsky", "Letzten Sonntag ist ein Korpuslinguist der Uni spurlos verschwunden.", "Die Polizei ist ratlos. Man vermutet, er könnte vom Korpus seines Schreibtischs aufgefressen worden sein", "Blick", "Unfälle & Verbrechen", "1"
"Titel des nächsten Artikels", , "2. April 2006", ...

Ein Datensatz besteht aus einer Zeile (hier jetzt in mehrere Zeilen umgebrochen, am Ende der Zeile jedoch gibt es einen Absatz) und die einzelnen "Felder" sind durch Komma voneinander abgetrennt. Zusätzlich ist Text in Anführungsstriche gesetzt.

Ein solches Textformat heisst "kommasepariert", "kommagetrennt" oder "comma separated", oft mit der Dateiendung "csv" abgekürzt.

Daneben gibt es auch noch die "tabulatorseparierten" Textdateien, wo statt Kommata Tabulatoren die Feldergrenzen markieren. Diese Dateien tragen oft die Endung "tab".

Eine so formatierte Textdatei kann eine Datenbank immer lesen. Sie liest dann einfach ein Feld nach dem anderen und ein Datensatz nach dem anderen ein. Wichtig ist dabei, dass Felder, die leer sind, trotzdem in der Zeile vorhanden sind, allerdings einfach ohne Inhalt, wie das im oberen Beispiel beim zweiten Datensatz sichtbar ist, wo es keinen Untertitel gibt: Dort sind einfach zwei Kommata hintereinander gesetzt.

Die Kunst ist jetzt, die Textdaten, die in irgendeiner Form vorliegen, so zu vorformatieren, damit sie dann in die Datenbank importiert werden können.

Mit sog. "Regular Expressions" vertraute BenutzerInnen können in einem Texteditor, der dies unterstützt, das relativ schnell so formatieren. Ansonsten kann man sich ev. auch mit der normalen Suchen-und-Ersetzen-Funktion eines Texteditors und zusätzlicher Handarbeit behelfen oder aber man ist schneller, den Text aus der Textdatei mit "Kopieren-und-Einsetzen" von Hand in die Datenbank einzutragen.

Eleganter ist es natürlich, sich ein kleines Perl-Script zu basteln, das Textdateien automatisch analysiert und direkt in eine Datenbank einträgt.

Liegen die Daten in der strukturierten Form, durch Kommata oder Tabulatoren getrennt, vor, können sie mit dem Filter "kommaseparierter Text" bzw. "tabulatorseparierter Text" in Filemaker importiert werden. Genau wie beim Import von Excel-Dateien kann man dann in einer Vorschau die Feldreihenfolge festlegen.

Im Folgenden wird nun gezeigt, wie eine Beispieldatei mit Regular Expressions in eine kommaseparierte Textdatei verwandelt werden kann.