Direkt zum Hauptinhalt

Grundlegende OpenRefine Funktionen

Erstellen eines OpenRefine Projekts

Um Daten in OpenRefine bearbeiten zu können müssen diese als neues OpenRefine‑Projekt importiert werden. Generell kann OpeRefine eine Vielzahl and möglichen Formaten importieren. Das OpenRefine Handbuch bietet hierfür eine genauere Beschreibung.

Um ein Projekt zu erstellen, öffnen wir auf der Startseite von OpenRefine das Menü Create Project.
Unter Get data from wählen wir die Option This Computer.
Alternativ können Daten auch über eine URL geladen, aus der Zwischenablage eingefügt oder aus einer Datenbank importiert werden.

Über Choose Files wählen wir anschließend unsere Datei aus und klicken auf Next >>, um die Import‑Vorschau zu öffnen.

Im Parsing‑Menü lassen sich verschiedene Einstellungen festlegen, die bestimmen, wie OpenRefine die Datei einliest.
Hier kann beispielsweise die Option Trim leading & trailing whitespace from strings aktiviert werden, um überflüssige Leerzeichen am Anfang oder Ende eines Textfeldes automatisch zu entfernen.
Welche Einstellungen sinnvoll sind, hängt vom jeweiligen Datensatz ab. Die Vorschau erleichtert es, die passenden Optionen auszuwählen.

Der Projektname kann individuell angepasst werden, und das Erstellen von Tags ermöglicht eine leichtere Navigation in der Projektübersicht.

Sind alle Einstellungen vorgenommen, wird das Projekt über Create Project >> erstellt.

OpenRefine Datentypen
OpenRefine bietet vier Datentypen:

  • string (ein oder mehr Textzeichen)
  • number (ein oder mehr Zahlen)
  • boolean ("true" oder "false" Werte)
  • date (ISO-8601-compliant extended format with time in UTC: YYYY-MM-DDTHH:MM:SSZ)

Die Typen number, date, und boolean werden grün angezeigt. Strings werden schwarz angezeigt. Sollten Werte, welche eigentlich eine Zahl repräsentieren schwarz angezeigt handelt es sich dabei um strings welche erst in das number Format konvertiert werden müssen. Funktionen dazu finden sich in Column DropdownEdit cells > Common transforms > To [...].

Zusätzlich hat OpenRefine noch die Datentypen error für Fehler und null für leere Zellen.

Wichtig: Die möglichen Facetten für eine Spalte hängen vom jeweiligen Datentyp ab.

Layout

Ähnlich wie die meisten Tabellenbearbeitungsprogramme strukturiert OpenRefine die Daten in Spalten (Columns) und Reihen (Rows). Die Spalten enthalten dabei die einzelnen Merkmale (Features), während die Reihen die einzelnen Dateneinträge repräsentieren.

Auf die meisten Funktionen in OpenRefine lässt sich über die Dropdown‑Menüs zugreifen, die sich am oberen Rand jeder Spalte befinden.

OpenRefine bietet zwei Optionen zum Anzeigen der Daten.

  • Reihen-Ansicht in der jede Reihe als eigenständiger Eintrag gesehen wird
  • Record-Ansicht in der Reihen zu einem zusammenhängenden Eintrag zusammengefügt werden.

Unter Show as: kann durch auswählen von rows oder records zwischen den verschiedenen Ansichten gewechselt werden. Die ausgewählte Ansicht hat Einfluss auf das Verhalten von OpenRefine. Durch die Record-Ansicht ist bei Daten, die mehrere Zeilen pro Objekt enthalten eine konsistente Bearbeitung zusammenhängender Informationen möglich.

Records in OpenRefine

OpenRefine gruppiert mehrere Zeilen zu einem Record, wenn diese logisch zusammengehören, zum Beispiel, wenn ein Objekt mehrere Schlagwörter, mehrere Personen oder unterschiedliche Datenelemente besitzt.
Jede Zeile innerhalb eines Records stellt dabei einen einzelnen Wert dar.

OpenRefine entscheidet anhand der Werte in der linken Spalte, ob eine neue Zeile zu einem bestehenden Record gehört oder einen neuen Record beginnt.

Steht in einer Zeile in einer der linken Spalten ein Wert, beginnt OpenRefine einen neuen Record.
Bleiben diese Zellen leer, wird die Zeile dem vorherigen Record zugeordnet. Dabei ist die erste Spalte ausschlaggebend für die Gesamtstruktur. Soll jede Reihe im Dokument als eigener Records gesehen werden, muss die erste Spalte vollständig gefüllt sein.

Spalten ordnen und umbenennen

Es gibt zwei Möglichkeiten, Spalten in OpenRefine neu zu ordnen:

1. Über das Dropdown‑Menü der Spalte „All“
Unter All DropdownEdit columns > Re-order / remove columns… können alle Spalten gleichzeitig neu angeordnet oder entfernt werden.
Dabei öffnet sich ein separates Fenster, in dem die Spalten per Drag‑and‑Drop verschoben werden können.
Durch das Verschieben einer Spalte in den rechten Bereich wird sie aus der Ansicht entfernt.

2. Über das Dropdown‑Menü einer einzelnen Spalte
Jede Spalte kann auch individuell bewegt werden.
Dazu wählen wir Column DropdownEdit column und anschließend eine der entsprechenden Move column […]‑Optionen.
Diese Änderungen werden direkt auf das Datenset angewendet.

Über Column DropdownEdit column > Rename this column… können Spalten umbenannt werden,
und über Column DropdownEdit column > Remove this column lassen sie sich löschen.

Die baumartige Record-Struktur in OpenRefine ergibt sich aus der Anordnung der Spalten von links nach rechts.

Eine Veränderung der Spaltenreihenfolge kann direkten Einfluss auf die Struktur und Gruppierung der Records haben.

Wird eine Spalte vorübergehend nicht benötigt, soll aber für später erhalten bleiben, kann sie ausgeblendet werden.
Über Column DropdownHide / Show stehen verschiedene Optionen zum Aus- und Einblenden zur Verfügung.

Spalten vereinigen und trennen

OpenRefine bietet außerdem leistungsstarke Funktionen, um Spalten aufzuteilen oder zusammenzuführen. Über Column DropdownEdit column lassen sich sowohl Split into several columns... als auch Join columns... auswählen.

  • Split into several columns...:
    Diese Funktion eignet sich, wenn eine Zelle mehrere Informationen enthält, die durch ein Trennzeichen (z. B. Komma, Semikolon oder Leerzeichen) getrennt sind. OpenRefine erstellt daraus automatisch mehrere neue Spalten.
    Zusätzlich kann festgelegt werden, wie viele neue Spalten maximal erstellt werden sollen.

  • Join columns...:
    Diese Option kann verwendet werden denn Informationen aus mehreren Spalten in einer einzigen Spalte zusammengeführt werden sollen. Dabei lässt sich ein optionales Trennzeichen definieren (z. B. Komma oder Semikolon), das zwischen die zusammengeführten Werte gesetzt wird. Die Spalten, die zusammengeführt werden sollen, können direkt im Menü ausgewählt werden. Dabei lässt sich festlegen, wie Null‑Werte behandelt werden sollen. Außerdem kann bestimmt werden, ob die zusammengeführten Inhalte in einer neuen Spalte gespeichert oder in eine bestehende Spalte geschrieben werden sollen. Optional besteht auch die Möglichkeit, die ursprünglichen Spalten nach dem Zusammenführen zu löschen.

Diese Werkzeuge sind besonders hilfreich, um komplexe oder falsch strukturierte Daten in ein konsistentes und besser analysierbares Format zu bringen.

Zellen vereinigen und trennen

Ähnlich wie bei Spalten können auch Zellen innerhalb einer Spalte zusammengeführt oder aufgeteilt werden.
In Column DropdownEdit cells finden wir die Optionen Split multi-valued cells... und Join multi-valued cells.... Dabei lässt sich jeweils ein gewünschtes Trennzeichen (Separator) festlegen.

Für diese Operationen ist die Record‑Struktur von OpenRefine besonders wichtig.

  • Wenn wir Zellen aufteilen, erzeugt OpenRefine zusätzliche Zeilen innerhalb desselben Records.
    Dadurch wird der Record tiefer und er enthält mehr Zeilen und damit mehr einzelne Werte.

  • Wenn wir Zellen zusammenführen, fasst OpenRefine mehrere Zeilen bzw. Werte zu einer einzigen Zelle zusammen. Dadurch wird der Record flacher, weil mehrere Einträge zu einem Wert verschmelzen.

Diese Struktur beeinflusst direkt, wie Facets, Filter und Reconciliation‑Prozesse funktionieren.
Eine saubere Record‑Struktur ist daher entscheidend, um die Daten später korrekt analysieren und weiterverarbeiten zu können. Insbesondere bei hierarchischen oder gruppierten Daten sind Column DropdownFill down und Column DropdownBlank down wichtige Werkzeuge.

  • Fill down:
    Diese Funktion füllt leere Zellen mit dem nächstoberhalb liegenden Wert.
    Sie eignet sich vor allem, wenn Informationen in einer Spalte nur einmal pro Record angegeben sind und auf die darunterliegenden Zeilen übertragen werden sollen.

  • Blank down:
    Das Gegenstück zu Fill Down. Damit lassen sich Zellen unterhalb eines Werts gezielt leeren, sodass nur der erste Eintrag einer Gruppe sichtbar bleibt.
    Dies ist nützlich, wenn redundante Informationen entfernt oder die Datenstruktur für Record‑Ansichten bereinigt werden soll.

Sortieren

Über die Option Column DropdownSort... können wir die Zeilen unserer Daten sortieren.
Dabei lassen sich verschiedene Kriterien festlegen, wie der OpenRefine‑Datentyp, eine auf- oder absteigende Sortierung sowie die Position leerer oder fehlerhafter Zellen.

Nach dem Bestätigen der Auswahl erscheint oberhalb der Daten ein neues Sort‑Dropdown‑Menü.
Dort können wir die Sortierung wieder entfernen oder die Reihenfolge umkehren.

Im Gegensatz zu anderen Tabellenbearbeitungsprogrammen wie Excel wird eine Sortierung in OpenRefine nicht automatisch dauerhaft übernommen.
Erst durch die Auswahl von Sort > Reorder rows permanently wird die aktuelle Sortierung tatsächlich im Datensatz gespeichert.

Undo/Redo

OpenRefine bietet ein unbegrenztes Undo/Redo-System. Das bedeutet, dass jederzeit sämtliche Bearbeitungsschritte zurückgenommen oder wiederhergestellt werden können.

Werden Schritte rückgängig gemacht und danach neue Schritte ausgeführt, werden die zuvor bestehenden Schritte dauerhaft überschrieben und können nicht wiederhergestellt werden.

Deshalb empfiehlt es sich, vor experimentellen Änderungen die bisherigen Bearbeitungsschritte zu exportieren und zu sichern.

Ein weiteres starkes Feature von OpenRefine ist die Möglichkeit, sämtliche durchgeführten Schritte als Workflow zu exportieren. Diese gespeicherten Workflows können anschließend auf andere Projekte angewendet werden. Hierbei gibt es jedoch Einschränkungen, da unteranderem Spaltennamen übereinstimmen müssen.

Filter

Manchmal möchten wir nur Zeilen anzeigen, die bestimmte Werte enthalten. Dafür bietet OpenRefine eine Filtermöglichkeit.
Wir wählen dazu Column DropdownText filter. Dadurch erscheint im Bereich Facet / Filter eine Eingabezeile, in die wir Suchbegriffe eingeben können.

Der Textfilter funktioniert ähnlich wie eine klassische Suchfunktion. Es kann nach einzelnen Buchstaben oder ganzen Wörtern gefiltert werden. Darüber hinaus lassen sich Regular Expressions (Regex) einsetzen oder die Suche mit Groß- und Kleinschreibung (case sensitive) beschränken.
Der Filter kann außerdem invertiert werden, sodass nur die Zeilen angezeigt werden, die nicht dem Suchkriterium entsprechen.

Wenn ein Filter aktiv ist, wirken sich alle weiteren Bearbeitungsschritte ausschließlich auf die aktuell gefilterten Zeilen aus. Zeilen außerhalb des Filters bleiben davon unberührt.

Facetten

Facetten gehören zu den zentralen Analyse- und Navigationswerkzeugen in OpenRefine. Sie ermöglichen es, die Werte einer Spalte strukturiert auszuwerten und gleichzeitig als Filter zu verwenden.
Eine Facette erstellt eine Übersicht aller vorkommenden Werte oder Wertbereiche und zeigt an, wie viele Zeilen zu jedem dieser Einträge gehören. Dadurch lassen sich Muster, Ausreißer, Tippfehler oder Inkonsistenzen besonders leicht erkennen.

OpenRefine stellt verschiedene Arten von Facetten zur Verfügung:

  • Text Facet: listet alle eindeutigen Textwerte einer Spalte auf. Dadurch ist sie ideal für Kategorien, Schlagwörter oder Namen.
  • Numeric Facet: gruppiert numerische Werte in übersichtliche Intervalle.
  • Timeline Facet: ermöglicht die zeitliche Analyse, wenn Datumswerte vorliegen.
  • Scatterplot Facet: erzeugt ein zweidimensionales Diagramm aus zwei numerischen Spalten und zeigt Zusammenhänge, Cluster oder Ausreißer visuell an. Im Diagramm können auch direkt Bereiche zum Anzeigen ausgewählt werden.
  • Custom Facet: erlaubt eigene Filterlogik mithilfe von GREL-Ausdrücken.
  • Customized Facets: bieten spezifische bereits implementierte Facet-Optionen, wie Wortfacetten, oder Facetten für leere Werte.

Sie lassen sich über Column DropdownFacet > aufrufen. Durch auswählen einer Option erscheint ein neues Fenster in der Facet \ Filter Übersicht.

Mit Reset all können wir alle aktiven Facetten und Filter in den Originalzustand versetzen.
Mit Remove all könne wir alle aktiven Facetten und Filter entfernen.

Neben der Analyse dienen Facetten auch als interaktive Filter:
Durch Anklicken eines Werts oder Intervalls wird nur der entsprechende Teil der Daten angezeigt und kann gezielt weiterbearbeitet werden.
Komplexere Analysen lassen sich durch die Kombination mehrerer Facetten durchführen, wie etwa das gleichzeitige Filtern nach einem bestimmten Schlagwort und einem bestimmten Datumsbereich.

Ein wesentlicher Vorteil von Facetten ist, dass Werte direkt innerhalb der Facette bearbeitet werden können.
Über die Option „Edit“ neben einem Facetteneintrag lassen sich einzelne Werte umbenennen, korrigieren oder zusammenführen (Cluster).
Diese Änderungen wirken sich unmittelbar auf alle Zeilen aus, die diesen Wert enthalten, zum Beispiel, um Tippfehler zu korrigieren oder ähnliche Begriffe zu vereinheitlichen.

Ähnlich wie bei Filter werden weiterführende Bearbeitungsschritte nur auf die derzeit ausgewählten Zeilen angewendet.

Facetten sind somit ein wesentliches Werkzeug, um Datenqualität sichtbar zu machen, Fehlerquellen aufzuspüren, Duplikate zu identifizieren und große Datensets effizient zu strukturieren.

Clustering

Clustering ist eines der wichtigsten Werkzeuge in OpenRefine, um ähnliche oder fehlerhaft geschriebene Werte automatisiert zu erkennen und zu bereinigen. Das Clustering-Menü erreichen wir über Column DropdownEdit cells > Cluster and edit.... Dort öffnet sich ein Dialogfenster, das verschiedene Algorithmen zur Gruppierung ähnlicher Werte anbietet. Besteht bereits eine Facette für eine Spalte, können wir auch einfach über den Button Cluster im Facetten-Fenster in das Menü gelangen.

OpenRefine unterstützt mehrere eingebaute Cluster-Methoden, darunter:

Key-Collision-Methoden
Diese Methoden erzeugen aus jedem Wert einen „Schlüssel“, sodass ähnlich strukturierte Werte denselben Schlüssel erhalten.

  • Fingerprint: Normalisiert Werte (Kleinschreibung, Entfernen von Sonderzeichen) und sortiert Wörter alphabetisch. Gut für typische Tippfehler.
  • N-gram Fingerprint: Nutzt n‑Gramme (Buchstabengruppen), um auch weniger offensichtlich ähnliche Wörter zu erkennen.
  • Cologne Phonetic: Deutsches phonetisches Verfahren, bei dem Wörter nach ihrem Klang gruppiert werden.
  • Metaphone3: Phonetische Verfahren für englische Wörter und internationale Begriffe.
  • Daitch-Mokotoff: Phonetisches Matching für slawische und yiddische Begriffe.
  • Beider-Morse: Komplexes Verfahren für matchen von phonetisch equivalenten Begriffen.

Nearest-Neighbor-Methoden
Diese Methoden vergleichen Werte direkt anhand von Ähnlichkeitsmetriken:

  • Levenshtein Distance: Misst Unterschiede zwischen zwei Zeichenketten (Einfügen/Löschen/Ersetzen).
  • PPM (Prediction by Partial Matching): Modelliert Ähnlichkeiten probabilistisch; gut bei unstrukturierten Textvarianten.

Eigene Clustering-Methoden
OpenRefine kann um benutzerdefinierte Cluster-Algorithmen erweitert werden. Über Erweiterungen oder eigene Skripte (z. B. in Python oder Java) lassen sich zusätzliche Verfahren integrieren, inbesondere projektspezifische Ähnlichkeitsmetriken oder spezielle Sprachmodelle.


Im Clustering-Dialog können wir:

  • erkannte Gruppen ähnlicher Werte anschauen
  • Zielwerte bearbeiten oder vereinheitlichen
  • Cluster zusammenführen
  • Änderungen für einzelne oder mehrere Gruppen übernehmen

Dafür können folgende Arbeitsschritte durchgeführt werden:

  1. Über Column DropdownEdit cells > Cluster and edit... öffnen.
  2. Oben im Dialog eine Cluster-Methode auswählen (z. B. „Fingerprint“ oder „Cologne Phonetic“).
  3. OpenRefine zeigt nun Gruppen ähnlicher Werte an, die potenziell vereinheitlicht werden können.
  4. Für jeden Cluster kann ein neuer Zielwert eingegeben werden (z. B. ein korrekter, vereinheitlichter Begriff).
  5. Mit „Merge Selected & re-cluster“ werden die gewählten Werte zusammengeführt.
  6. Den Vorgang mit anderen Methoden wiederholen, um weitere Varianten zu entdecken.

Clustering eignet sich besonders gut, um Tippfehler, Schreibvarianten, uneinheitliche Bezeichnungen, Groß-/Kleinschreibung oder andere Inkonsistenzen effizient zu korrigieren und Daten für Reconciliation oder Analyse vorzubereiten.

Clustering ist häufig ein iterativer Prozess. Oft sind mehrere Clustering-Durchgänge mit verschiedenen Clustering-Methoden notwendig um alle ähnlichen Worte zu finden und zu vereinheitlichen.

Transformations

Transformationen ermöglichen es, Werte in einer Spalte gezielt anzupassen, umzuwandeln oder neu zu strukturieren.
In OpenRefine stehen dafür zwei zentrale Wege zur Verfügung: die allgemeine Transform-Funktion sowie die vordefinierten Common Transforms.

Transform-Funktion (freie Transformation)
Wir erreichen die freie Transformationsumgebung unter Column DropdownEdit cells > Transform.... Hier können wir eigene Ausdrücke in GREL (General Refine Expression Language) verwenden, um Werte flexibel zu bearbeiten. Dadurch ist es möglich Texte umzuwandeln, Zeichen zu extrahieren, Listen zu erzeugen oder Datumsangaben zu normalisieren.
GREL unterstützt zusätzlich Regex (Regular Expressions), mit denen sich komplexe Mustersuchen und Ersetzungen durchführen lassen. Dabei werden aber nicht alle Regex-Funktionen unterstützt und müssen an GREL adaptiert werden.
Beispiele für häufige GREL Ausdrücke finden sich hier.

Common Transforms Unter Column DropdownEdit cells > Common transforms befinden sich häufig benötigte Standardaktionen. Dazu gehören zum Beispiel:

  • Entfernen von überflüssigen Leerzeichen
  • Text in Groß-/Kleinschreibung umwandeln
  • Zahlen oder Datumswerte parsen
  • Sonderzeichen normalisieren

Diese Funktionen lassen sich mit einem Klick auf die gesamte Spalte anwenden und bieten einen schnellen Einstieg in die Datenbereinigung.

Nützliche Hinweise zur Arbeit mit Transformationen

  • Transformationen wirken immer auf die ausgewählte Spalte.
  • Komplexere Anpassungen entstehen häufig durch die Kombination von Common Transforms und GREL-Ausdrücken.
  • Da GREL Ergebnisse sofort in einer Vorschau zeigt, können Transformationen gefahrlos ausprobiert werden.

Transformationen entfalten ihr volles Potenzial, wenn man einfache Schritte (Trim, Case-Conversion) mit gezielten GREL-Ausdrücken kombiniert. Dadurch lassen sich selbst komplexe Bereinigungsprozesse effizient lösen.

Daten exportieren

Nachdem wir unsere Daten bereinigt und erweitert haben, wollen wir sie für die Weiterverwendung exportieren. Dies können wir über die verschiedenen Optionen im Export Menü erledigen.

Originaldaten bleiben unverändert
OpenRefine lädt die Quelldaten als lokale Projektkopie.
Die Originaldateien werden während der Bearbeitung nicht verändert und müssen zur weiteren Verwendung exportiert werden.

Hinweis zur Google‑Sheets‑Unterstützung
Die OpenRefine‑Dokumentation (Stand: Januar 2026) erwähnt eine Google‑Sheets‑Integration.
Diese Unterstützung wurde jedoch seit OpenRefine 3.9 aus Sicherheitsgründen entfernt.
Sie kann über eine Extension wieder aktiviert werden.

Verfügbare Exportziele
OpenRefine stellt mehrere Dateiformate für den direkten Export bereit (insbesondere tabellarische Formate):

  • TSV/CSV, HTML, Excel (XLSX), ODF
  • Zusätzlich kann das OpenRefine‑Projekt selbst exportiert werden (z. B. zur Weitergabe).

Die meisten Exporte berücksichtigen die aktuelle Ansicht, also aktive Facets und Filter. Es werden in der Regel nur die angezeigten Zeilen exportiert.

Custom Tabular Export

Für erweiterte Anforderungen, insbesondere bei reconcilierten Daten, bietet OpenRefine den Custom Tabular‑Export:

  • Pro Spalte lässt sich wählen, ob Originalwerte, gematchte Werte oder gematchte IDs ausgegeben werden.
  • Optional können leere Zellen für no‑match erzeugt oder Links zu Entitätsseiten ausgegeben werden.

Wichtig: Diese Einstellungen werden spaltenweise konfiguriert.
Jede relevante Spalte muss separat korrekt eingestellt werden.

Über „Download“ und die „Preview“‑Schaltfläche lässt sich eine Vorschau der ersten Zeilen anzeigen und feinjustieren.
Im Reiter „Option Code“ kann die JSON‑Konfiguration der gewählten Einstellungen kopiert (für spätere Exporte wiederverwendet) oder importiert werden.

Weitere Exportoptionen

  • SQL‑Export (zum Import in Datenbanken)
  • Mit der RDF‑Extension sind Exporte als RDF/XML oder Turtle möglich.

Export als JSON (Templating Exporter)

OpenRefine besitzt keine direkte „Export → JSON“‑Funktion. Stattdessen verwenden wir Export > Templating....

Der Templating Exporter bietet maximale Flexibilität:

  • Zugriff auf Reconciliation‑Felder
  • Spalten aufteilen/zusammenführen
  • GREL‑Ausdrücke anwenden (Ausdrücke in doppelten geschweiften Klammern {{ ... }} wird als GREL interpretiert, alles außerhalb als Text)
  • Optional sind auch Jython oder Clojure möglich, z. B.: {{jython:return cells['ColumnName'].value}}

Verschiedene Vorlagen für, zum Beispiel, YAML oder geojson finden sich im OpenRefine Github.

Praxis‑Tipp zum JSON‑Templating
Records werden beim Export nicht automatisch als geschachtelte Strukturen ausgegeben.
Komplexe Strukturen (z. B. Arrays mit Bedingungen) erfordern GREL‑Kontrollstrukturen wie forEach, filter, if(...), etc. Für erste Schritte lohnt es sich, die Verschachtelung gering zu halten und Feineinstellungen anschließend in einem externen Editor vorzunehmen.