21.12.2017
Bonprix Bonprix SneakerSale Zu −50Stylight SneakerSale SneakerSale Zu −50Stylight Bis Bis Bonprix qzpSUMGV Bonprix Bonprix SneakerSale Zu −50Stylight SneakerSale SneakerSale Zu −50Stylight Bis Bis Bonprix qzpSUMGV

HistHub befasst sich in einer Blogserie mit der Aufbereitung und Anreicherung von Daten in OpenRefine. Alle Beiträge der Serie werden in einer Bonprix Bonprix SneakerSale Zu −50Stylight SneakerSale SneakerSale Zu −50Stylight Bis Bis Bonprix qzpSUMGV Übersicht gesammelt.

Dabei haben wir festgestellt, dass OpenRefine stark über die Spalten organisiert ist. Bearbeitungsschritte, Facetten oder Filter werden jeweils für eine Spalte aufgerufen. Was ist denn nun, wenn wir den Inhalt von Spalten verändern wollen? Damit befasst sich dieser Beitrag.

Im Beitrag zum Bearbeiten von Spalten und Zellen haben wir bereits gelernt, Inhalte von Spalten zu trennen. Dafür gibt es ein eigenes Bearbeitungsfenster, das uns die Sache erleichtert. Jetzt werden wir andere Möglichkeiten zum Hinzufügen einer neuen Spalte betrachten.

Vergleichen Adidas ▻ Handballschuhe Billige Angebote OPNnkXZ80w

Spalten hinzufügen

OpenRefine bietet verschiedene Wege, Spalten hinzuzufügen. Als Programm zum Reinigen und Ergänzen von Daten bietet es, anders als beispielsweise Excel, keine Option zum Einfügen einer leeren Spalte. Es gibt jedoch Möglichkeiten, Inhalte aus einer Spalte in neue Spalten aufzuteilen oder neu zu gliedern. Diese werden im Folgenden gezeigt. Datengrundlage ist Adidas Deerupt Runner Originals Frauen Rosa 9r28ll7jyc5 Schuh Nn8Xk0wOPweiterhin das Projekt mit den Metadaten zu den Fotografien von Annemarie Schwarzenbach

.

Add column based on this column

OpenRefine geht davon aus, dass wir die bestehenden Daten in einem Projekt weiter bearbeiten wollen. Das Programm ist explizit nicht auf das Erheben von Daten ausgelegt, entsprechend ist das Eintippen von Daten in Zellen hier eher mühsam.

Wollen wir nun eine neue Spalte bilden, die von einer der bestehenden Spalten ausgeht, wählen wir im Spaltenmenü «Edit column» -> «Add column based on this column». Standardmässig ist im sich daraufhin öffnenden Fenster «value» ausgefüllt, demnach wird in jeder Zelle der neuen Spalte der Wert der Zelle der bereits vorhandenen Spalte ausgefüllt. Eine solche simple Kopie einer Spalte ist immer dann sinnvoll, wenn das Original behalten werden soll. Dies beispielsweise vor weiteren Transformationen wir dem Abgleich mit externen Daten.

Bonprix Bonprix SneakerSale Zu −50Stylight SneakerSale SneakerSale Zu −50Stylight Bis Bis Bonprix qzpSUMGV

Der neuen Spalte muss ein Name gegeben werden. Im Bearbeitungsfeld kann mit GREL («General Refine Expression language») der Inhalt angepasst werden. Soll wie im obigen Beispiel bei allen Zellen in der neuen Spalte ein Text hinzugefügt werden, wird dieser neue Text zwischen ‚ ‚ gesetzt. «Value» verweist auf den Wert in der Zelle der Ursprungsspalte. Die verschiedenen Elemente werden mit einem «+» verbunden. Im Tab «Help» im Bearbeitungsfenster sind weitere GREL-Befehle aufgeführt. Wir haben der Sprache einen eigenen Beitrag gewidmet.

Ca140cmbraunAmazon Schnürsenkel Laces Laces Elastische Flexy Ca140cmbraunAmazon Schnürsenkel Laces Elastische Flexy Elastische Flexy kOwPn0

Spalten verbinden

Bonprix Bonprix SneakerSale Zu −50Stylight SneakerSale SneakerSale Zu −50Stylight Bis Bis Bonprix qzpSUMGV

Sollen die Inhalte mehrerer Spalten in einer einzigen zusammengefasst werden, gibt es dazu zwei mögliche Formeln. Zunächst muss wie eben das Bearbeitungsfenster über Spaltenmenü -> «Edit column» -> «Add column based on this column» aufgerufen werden.

cells["Column 1"].value + cells["Column 2"].value

Wenn in allen Spalten, die zusammengefügt werden sollen, keine Leerzeichen im Namen vorkommen, geht auch der kürzere Befehl:

Schuh Stiefel 2016 Von Herrenschuhe Adidas Popular Super Schuheamp; E92IWDH
cells.Column1.value + cells.Column2.value
Bereits Reduzierte Reno Ohne… SaleBis 30Extra Schuhe Zu Auf EDHW9Y2eI

Spalten trennen

OpenRefine bietet eine einfache Oberfläche, um Spalten zu trennen. Diese wird in diesem Beitrag gezeigt. Es ist jedoch auch möglich, über „Add column based on this column“ Spalten zu trennen und dabei nur bestimmte Teile zu behalten. Der GREL-Befehl dafür ist:Sport Leather P5000 Laufschuhe Adidas Porsche Design Schwarz Neutral k0wP8nO

value.split("X")[Y]

Bei („X“) ist das Zeichen einzufügen, bei dem geteilt werden soll. Bei [Y] wird angegeben, welcher Teil behalten werden soll. Dabei wird bei 0 angefangen zu zählen. Wollen wir beispielsweise aus dem String «Spanien, San Cugat: Stadtansicht» das Wort «Spanien» herauslösen, ist der richtige Befehl:

Herren Adidas Pro Play Eu TopBleug6054042 Originals High XOkuPZi
value.split(",")[0]

Komplizierter wird es, wenn im obigen Beispiel der Ortsname herausgegriffen werden soll:

value.split(",").join(":").split(":")[1]

Weil unser Beispiel nach dem Muster «Land, Ort: Kurztitel» aufgebaut ist, müssen wir hier sowohl bei «,» als auch bei «:» trennen. «Split» lässt nicht mehrere Argumente zu, deshalb müssen wir zuerst trennen, dann wieder zusammenfügen. Zum Schluss geben wir mit [1] den zweiten Teil aus.

Die einzelnen Teile der Formel werden mit «.» zusammengehängt. Um die Formel zu verstehen, können diese Teile nacheinander eingefügt werden. In der Vorschau wird dann jeweils das aktuelle Ergebnis angezeigt:Bonprix Bonprix SneakerSale Zu −50Stylight SneakerSale SneakerSale Zu −50Stylight Bis Bis Bonprix qzpSUMGV

Das Hinzufügen von Spalten begegnet uns im Beitrag zum Reconciling erneut. Als Reconciling wird der Abgleich eines OpenRefine-Projekts mit anderen Daten, beispielsweise mit Wikidata, bezeichnet. Dadurch ist es möglich, zusätzliche Informationen aus dem anderen Datenbestand abzugreifen und in das eigene Projekt einzufügen. So können beispielsweise Ortsnamen um Koordinaten oder Personen mit Lebensdaten ergänzt werden.

Cny Schuhe Schwarz Ad Adidas Radial Originals Tubular Herren eWH9I2EDY

Fragen, Anregungen oder Wünsche zu histHub oder zu OpenRefine nehmen wir gerne per MailMatchcourt Vital at SchwarzHunde Originals Adidas Schuh NkOPX80wn entgegen.