<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Encoding | FDMLab@LABW</title><link>https://fdmlab.landesarchiv-bw.de/tag/encoding/</link><atom:link href="https://fdmlab.landesarchiv-bw.de/tag/encoding/index.xml" rel="self" type="application/rss+xml"/><description>Encoding</description><generator>Wowchemy (https://wowchemy.com)</generator><language>de-de</language><lastBuildDate>Tue, 19 Jul 2022 00:00:00 +0000</lastBuildDate><image><url>https://fdmlab.landesarchiv-bw.de/media/sharing.jpg</url><title>Encoding</title><link>https://fdmlab.landesarchiv-bw.de/tag/encoding/</link></image><item><title>Probleme mit Umlauten in OpenRefine</title><link>https://fdmlab.landesarchiv-bw.de/post/2022-07-probleme-mit-umlauten-in-openrefine/</link><pubDate>Tue, 19 Jul 2022 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/post/2022-07-probleme-mit-umlauten-in-openrefine/</guid><description>&lt;p>Bei der Verarbeitung deutschsprachiger Texte stoßen wir hin und wieder auf Probleme mit Umlauten und anderen Sonderzeichen.
In diesem Artikel haben wir einige typischen Probleme und ihre Lösungen aufgelistet.&lt;/p>
&lt;h2 id="umlaute-in-metadaten-sorgen-für-speicherprobleme-in-openrefine-35">Umlaute in Metadaten sorgen für Speicherprobleme in OpenRefine 3.5&lt;/h2>
&lt;p>OpenRefine hat in der Version 3.5 ein &lt;a href="https://github.com/OpenRefine/OpenRefine/issues/4402" target="_blank" rel="noopener">Problem mit Umlauten und anderen Sonderzeichen in den Metadaten&lt;/a>.
Zu den Metadaten gehören zum Beispiel der Projektname, die Schlagworte, der Dateiname der importierten Datei, Templates für den Export, &amp;hellip;&lt;/p>
&lt;p>Diese fehlerhaft gespeicherten Sonderzeichen in den Metadaten verdoppeln sich bei jedem (Neu)Start von OpenRefine (siehe Grafiken 1 - 3).&lt;/p>
&lt;p>
&lt;figure id="figure-bildschirmfoto-des-projektes-nach-dem-import">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto des Projektes nach dem Import." srcset="
/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-project-01_hu6b8886ef683c2b173ef927c1a83d0ec4_22575_c810de66b8398ddb9f95b8c4d2013fbb.webp 400w,
/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-project-01_hu6b8886ef683c2b173ef927c1a83d0ec4_22575_721c4b1c21fc9b1b8af4e90bb37cb272.webp 760w,
/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-project-01_hu6b8886ef683c2b173ef927c1a83d0ec4_22575_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-project-01_hu6b8886ef683c2b173ef927c1a83d0ec4_22575_c810de66b8398ddb9f95b8c4d2013fbb.webp"
width="553"
height="296"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto des Projektes nach dem Import.
&lt;/figcaption>&lt;/figure>
&lt;figure id="figure-bildschirmfoto-des-projektes-nach-dem-ersten-neustart">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto des Projektes nach dem ersten Neustart." srcset="
/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-project-02_huedd7116d31280537066c742c7577be9d_23268_0c9c3b73a6d7010dcad29d6d6681faa6.webp 400w,
/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-project-02_huedd7116d31280537066c742c7577be9d_23268_8027909c8014beb064f1d80042119d45.webp 760w,
/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-project-02_huedd7116d31280537066c742c7577be9d_23268_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-project-02_huedd7116d31280537066c742c7577be9d_23268_0c9c3b73a6d7010dcad29d6d6681faa6.webp"
width="558"
height="296"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto des Projektes nach dem ersten Neustart.
&lt;/figcaption>&lt;/figure>
&lt;figure id="figure-bildschirmfoto-des-projektes-nach-dem-zweiten-neustart">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto des Projektes nach dem zweiten Neustart." srcset="
/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-project-03_hu197425fb46fb36550a92a20c7eef2cf1_23434_147a83d477a56613c0074876072f7663.webp 400w,
/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-project-03_hu197425fb46fb36550a92a20c7eef2cf1_23434_add3bdda31bac1f3a8f51f8de4dfad44.webp 760w,
/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-project-03_hu197425fb46fb36550a92a20c7eef2cf1_23434_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-project-03_hu197425fb46fb36550a92a20c7eef2cf1_23434_147a83d477a56613c0074876072f7663.webp"
width="551"
height="296"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto des Projektes nach dem zweiten Neustart.
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>Da es sich hierbei um ein exponentielles Wachstum handelt, ist es möglich, dass wir nach einiger Zeit Metadaten in der Größe von mehreren Gigabyte produzieren. Dadurch kann OpenRefine irgendwann nicht mehr starten und meldet beim Start: &lt;code>HTTP ERROR 500 java.lang.OutOfMemoryError: Java heap space&lt;/code>.
Der Reflex die Größe des Heaps (&lt;code>max memory heap size&lt;/code>) in der &lt;code>openrefine.l4j.ini&lt;/code> anzupassen hilft zwar erst einmal, jedoch werden die Metadaten weiterhin schneller wachsen, als man Arbeitsspeicher nachkaufen kann.&lt;/p>
&lt;p>Um das Problem vorübergehend zu mitigieren, benötigen wir zuerst eine Liste der betroffenen OpenRefine Projekte.
Dafür ermitteln wir, &lt;a href="https://docs.openrefine.org/manual/installing#set-where-data-is-stored" target="_blank" rel="noopener">wo die OpenRefine Projekte gespeichert sind&lt;/a>.&lt;/p>
&lt;p>In diesem Verzeichnis identifizieren wir ungewöhnlich große &lt;code>metadata.json&lt;/code> Dateien.
Dabei ist &lt;em>ungewöhnlich groß&lt;/em> abhängig von der Art der Projekte mit denen wir arbeiten.
Normalerweise sind &lt;code>metadata.json&lt;/code> Dateien mit einer Größe, die in Megabyte oder größer gemessen wird, ein Grund sie genauer anzusehen.&lt;/p>
&lt;p>Zur Identifikation der großen &lt;code>metadata.json&lt;/code> Dateien können auch Werkzeuge verwendet werden.
Für Windows gibt es unter anderem &lt;a href="https://www.jam-software.com/treesize" target="_blank" rel="noopener">TreeSize&lt;/a> und &lt;a href="https://windirstat.net/" target="_blank" rel="noopener">WinDirStat&lt;/a>.&lt;/p>
&lt;p>Die betroffenen Projektordner können dann (temporär) aus dem OpenRefine Projektordner herausgenommen und ihre ID aus der Datei &lt;code>workspace.json&lt;/code> entfernt werden.&lt;/p>
&lt;p>Um die &lt;code>metadata.json&lt;/code> Dateien zu korrigieren, kann eine Kombination der Kommandozeilenwerkzeuge &lt;code>find&lt;/code> und &lt;code>jq&lt;/code> verwendet werden, wie es auf GitHub unter &lt;a href="https://github.com/OpenRefine/OpenRefine/issues/3431#issuecomment-748682968" target="_blank" rel="noopener">Out of memory errors from large metadata.json files being parsed during OpenRefine Project Open&lt;/a> beschrieben wird.&lt;/p>
&lt;p>Alternativ können die &lt;code>metadata.json&lt;/code> Dateien auch manuell korrigiert werden.
Dafür werden diese mit einem Texteditor geöffnet, der in der Lage ist diese großen Dateien darzustellen.
Unter Windows kann dafür der Standard Texteditor (NotePad) verwendet werden.&lt;/p>
&lt;p>Erfahrungsgemäß ist es dabei einfacher, die nicht betroffenen Teile der JSON-Datei in eine neue Datei zu kopieren, anstatt zu versuchen Megabytes an Sonderzeichen zu löschen.&lt;/p>
&lt;p>Der Fehler wird mit OpenRefine 3.6 gefixt, jedoch werden die schon vermehrten Umlaute nicht automatisiert aufgeräumt.
Generell ist es zu empfehlen, dass betroffene Benutzer möglichst früh zur &lt;a href="https://github.com/OpenRefine/OpenRefine/releases/tag/3.6.0" target="_blank" rel="noopener">Version 3.6&lt;/a> von OpenRefine wechseln.&lt;/p>
&lt;h2 id="daten-richtig-in-openrefine-laden">Daten richtig in OpenRefine laden&lt;/h2>
&lt;p>OpenRefine ist prinzipiell schon recht gut darin die richtige Kodierung beim Import der Daten für ein Projekt zu erkennen.
In Abbildung 4 wurde hier schon korrekt die Kodierung &amp;ldquo;UTF-8&amp;rdquo; erkannt.
Es ist prinzipiell trotzdem zu empfehlen in der Vorschau der Daten zu prüfen, ob Umlaute und Sonderzeichen auch richtig angezeigt werden.&lt;/p>
&lt;figure id="figure-bildschirmfoto-der-optionen-für-den-projektimport">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto der Optionen für den Projektimport." srcset="
/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-encoding-01_hu8224cd6c68e4b146c149cfc50ced7396_28906_609a81c91336d400472a9bb391998d6f.webp 400w,
/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-encoding-01_hu8224cd6c68e4b146c149cfc50ced7396_28906_96158841abdcbb6ac3534c5db843db46.webp 760w,
/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-encoding-01_hu8224cd6c68e4b146c149cfc50ced7396_28906_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-encoding-01_hu8224cd6c68e4b146c149cfc50ced7396_28906_609a81c91336d400472a9bb391998d6f.webp"
width="760"
height="190"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto der Optionen für den Projektimport.
&lt;/figcaption>&lt;/figure>
&lt;p>Gegebenenfalls muss das Encoding noch angepasst werden. Dafür auf das Encoding-Feld klicken. In Abbildung 4 ist es das Feld mit Text &amp;ldquo;UTF-8&amp;rdquo;.
Daraufhin öffnet sich ein Dialog mit einer Schnellauswahl von üblichen Kodierungen (Abbildung 5) und einen Tab &amp;ldquo;All Encodings&amp;rdquo;, mit einer ausführlichen Liste aller unterstützten Kodierungen (Abbildung 6).&lt;/p>
&lt;p>So kann das Encoding der Datei noch vor dem Projektimport manuell angepasst werden.&lt;/p>
&lt;p>
&lt;figure id="figure-bildschirmfoto-der-optionen-für-das-encoding">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto der Optionen für das Encoding." srcset="
/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-encoding-02_hu6cf69b5052f0274e1670f6e7a972730a_24746_39c6f8fefb166ed16b89ee650e22a22e.webp 400w,
/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-encoding-02_hu6cf69b5052f0274e1670f6e7a972730a_24746_2b59c5bf01ae822cd572e9fcabcddaa5.webp 760w,
/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-encoding-02_hu6cf69b5052f0274e1670f6e7a972730a_24746_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-encoding-02_hu6cf69b5052f0274e1670f6e7a972730a_24746_39c6f8fefb166ed16b89ee650e22a22e.webp"
width="606"
height="461"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto der Optionen für das Encoding.
&lt;/figcaption>&lt;/figure>
&lt;figure id="figure-bildschirmfoto-der-erweiterten-optionen-für-das-encoding">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto der erweiterten Optionen für das Encoding." srcset="
/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-encoding-03_hu166d57fec80fb61be8c751b4a582d173_22962_1cffc7d155d7f8d8cdd667b705d99c38.webp 400w,
/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-encoding-03_hu166d57fec80fb61be8c751b4a582d173_22962_2c392d814e7dd146c7385481e9a648af.webp 760w,
/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-encoding-03_hu166d57fec80fb61be8c751b4a582d173_22962_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2022-07-probleme-mit-umlauten-in-openrefine/screenshot-encoding-03_hu166d57fec80fb61be8c751b4a582d173_22962_1cffc7d155d7f8d8cdd667b705d99c38.webp"
width="608"
height="463"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto der erweiterten Optionen für das Encoding.
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h2 id="nachgeladene-daten-anpassen">Nachgeladene Daten anpassen&lt;/h2>
&lt;p>Wir laden häufig auch Daten aus externen Quellen in ein existierendes Projekt.
Hierbei kann es vorkommen, dass die Kodierung der eingehenden Daten nicht zu den Daten im Projekt passt.&lt;/p>
&lt;p>Dafür gibt es die Möglichkeit die Daten mit der GREL Funktion &lt;a href="https://docs.openrefine.org/manual/grelfunctions#reinterprets-s-encodertarget-s-encodersource" target="_blank" rel="noopener">reinterpret()&lt;/a> anzupassen.&lt;/p>
&lt;p>Die Kodierung des OpenRefine Projektes findet man in den Metadaten unter &lt;code>import option metadata (JSON)&lt;/code>.
Die Kodierung der eingehenden Daten ist abhängig vom Projekt bzw. der API von der die Daten abgeholt werden.&lt;/p>
&lt;h2 id="reguläre-ausdrücke-mit-umlauten">Reguläre Ausdrücke mit Umlauten&lt;/h2>
&lt;p>Dem Thema &lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-fortgeschrittene/08-regulaere-ausdruecke/#aufgabe-10-vorsicht-bei-umlauten">Umlaute bei regulären Ausdrücken in OpenRefine&lt;/a> haben wir eine eigene Aufgabe in unserem &lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-fortgeschrittene/warum-openrefine/">OpenRefine Workshop für Fortgeschrittene&lt;/a> gewidmet.&lt;/p>
&lt;p>Hier die Kurzzusammenfassung: OpenRefine verwendet Java zur Auswertung der regulären Ausdrücke, wobei die Unicode Unterstützung separat aktiviert werden muss. Das hat zur Folge, dass &amp;ldquo;Sonderzeichen&amp;rdquo; wie unsere Umlaute &lt;em>äöü&lt;/em>, oder die in der französischen Sprache gebräuchlichen Buchstaben mit Akzenten &lt;em>éêè&lt;/em>, nicht von den Mustern &lt;code>[a-z]&lt;/code> oder &lt;code>\w&lt;/code> berücksichtigt werden.&lt;/p>
&lt;p>Um zum Beispiel auch Umlaute zu berücksichtigen gibt es mehrere Möglichkeiten:&lt;/p>
&lt;ol>
&lt;li>Umlaute explizit auflisten: &lt;code>[a-zäöüß]&lt;/code>&lt;/li>
&lt;li>Spezielle Klasse für Buchstaben (&lt;em>letter&lt;/em>) verwenden: &lt;code>\p{L}&lt;/code>&lt;/li>
&lt;li>Spezielle Klasse für alphabetische Zeichen verwenden: &lt;code>\p{IsAlphabetic}&lt;/code>&lt;/li>
&lt;li>Unicode Modus mit &lt;em>inline Flag&lt;/em> aktivieren: &lt;code>(?U)\w&lt;/code>&lt;/li>
&lt;/ol>
&lt;h2 id="probleme-mit-textfilter-und-umlauten">Probleme mit Textfilter und Umlauten&lt;/h2>
&lt;p>Manchmal haben wir in UTF-8 kodierten Projekten das Problem, dass Umlaute zwar korrekt dargestellt, Begriffe mit Umlauten z.B. über die Textfilter jedoch nicht gefunden werden.&lt;/p>
&lt;p>Das kann daran liegen, dass Umlaute in UTF-8 sowohl als einzelnes Zeichen wie &lt;code>ä&lt;/code> kodiert sein können, als auch als kombiniertes Zeichen aus &lt;code>a&lt;/code> und &lt;code>&amp;quot;&lt;/code> dargestellt werden können. &lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>
Suchen wir dann zum Beispiel nach &lt;code>Gemälde&lt;/code>, so wird der als &lt;code>Gema&amp;quot;lde&lt;/code> kodierte Begriff nicht gefunden.&lt;/p>
&lt;p>Um zu prüfen, ob das in einem OpenRefine Projekt der Fall ist, gibt es mehrere Möglichkeiten:&lt;/p>
&lt;ol>
&lt;li>Einen Begriff mit Umlauten aus dem OpenRefine Projekt in einer separaten Datei speichern und mit einem &lt;a href="https://de.wikipedia.org/wiki/Hex-Editor" target="_blank" rel="noopener">Hex-Editor&lt;/a> analysieren.&lt;/li>
&lt;li>Mit einem &lt;a href="https://docs.openrefine.org/manual/facets#custom-text-facet" target="_blank" rel="noopener">Custom Text Facet&lt;/a> und dem GREL Ausdruck &lt;code>value.unicode()&lt;/code> prüfen, ob es &lt;a href="https://de.wikipedia.org/wiki/Kombinierendes_Zeichen" target="_blank" rel="noopener">kombinierte Zeichen&lt;/a> wie das UTF-Zeichen 771 für den ergänzenden &lt;code>&amp;quot;&lt;/code> gibt.&lt;/li>
&lt;li>In einem Textfilter reguläre Ausdrücke aktivieren und die Sonderzeichen im Suchbegriff durch einen bzw. zwei Punkte &lt;code>..&lt;/code> (universeller Platzhalter) ersetzen. Also nach &lt;code>Gem.lde&lt;/code> und nach &lt;code>Gem..lde&lt;/code> suchen. Gibt es Ergebnisse mit Umlauten bei einem Punkt, dann sind die Umlaute mit einem Zeichen kodiert, gibt es Ergebnisse mit Umlauten nur bei zwei Punkten, sind sie als getrennte Zeichen kodiert.&lt;/li>
&lt;/ol>
&lt;p>GREL bietet zwar die Möglichkeit mit &lt;a href="https://docs.openrefine.org/manual/grelfunctions#reinterprets-s-encodertarget-s-encodersource" target="_blank" rel="noopener">reinterpret&lt;/a> den Text in eine andere Kodierung umzuwandeln, jedoch nicht die interne Kodierung von UTF-8 anzupassen.&lt;/p>
&lt;p>Dafür benötigen wir entweder die &lt;a href="https://docs.oracle.com/javase/tutorial/i18n/text/normalizerapi.html" target="_blank" rel="noopener">Normalizer Standardfunktionalität&lt;/a> von Java via Clojure, oder die Standardbibliothek &lt;a href="https://docs.python.org/2.7/library/unicodedata.html" target="_blank" rel="noopener">unicodedata&lt;/a> von Python via Jython.&lt;/p>
&lt;p>Hier ist der entsprechende Ausdruck in Clojure:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-clojure" data-lang="clojure">&lt;span class="line">&lt;span class="cl">&lt;span class="p">(&lt;/span>&lt;span class="nf">java.text.Normalizer/normalize&lt;/span> &lt;span class="nv">value&lt;/span> &lt;span class="nv">java.text.Normalizer$Form/NFC&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Hier der entsprechende Ausdruck in Python/Jython:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">unicodedata&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">normalize&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">return&lt;/span> &lt;span class="n">normalize&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;NFC&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">value&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Diese Schnippsel können z.B. via
&amp;ldquo;All&amp;quot;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Transform&amp;rdquo;
auf ausgewählte oder alle Spalten im OpenRefine Projekt angewendet werden.&lt;/p>
&lt;h2 id="fazit">Fazit&lt;/h2>
&lt;p>Die Unterstützung von Sonderzeichen und damit speziell Umlauten in der deutschen Sprache ist in OpenRefine nicht optimal.
Das ist in den meisten Fällen technisch begründbar und es gibt Lösungen, jedoch ist es gerade für technische Laien problematisch das Problem so zu formulieren, dass die entsprechenden Lösungsansätze dafür gefunden werden.&lt;/p>
&lt;p>Mit diesem Artikel hoffen wir, die Sichtbarkeit der möglichen Lösungen für Umlautprobleme in OpenRefine zu erhöhen.&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>Siehe dazu den Artikel zu &lt;a href="https://de.wikipedia.org/wiki/Normalisierung_%28Unicode%29" target="_blank" rel="noopener">Normalisierung von Unicode auf Wikipedia&lt;/a>.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Workshop - Daten mit OpenRefine exportieren</title><link>https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/04-exportieren/</link><pubDate>Fri, 01 Apr 2022 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/04-exportieren/</guid><description>&lt;p>Wir exportieren Daten mit OpenRefine in unterschiedliche Formate.&lt;/p>
&lt;blockquote>
&lt;p>Daten exportieren in der &lt;a href="https://docs.openrefine.org/manual/exporting" target="_blank" rel="noopener">OpenRefine Dokumentation&lt;/a>.&lt;/p>
&lt;/blockquote>
&lt;div class="alert alert-note">
Dieser Workshop wurde erstellt mit OpenRefine Version 3.5.0.&lt;br>
Dieser Workshop wurde zuletzt getestet mit OpenRefine Version &lt;strong>3.9.3&lt;/strong>.
&lt;/div>
&lt;h2 id="hintergrund">Hintergrund&lt;/h2>
&lt;p>OpenRefine bietet sowohl verschiedene fertige Exportmöglichkeiten an als auch die Möglichkeit, eigene Formate (JSON, XML) zu erstellen.
Wir konzentrieren uns in diesem Workshop auf tabellenartige Formate.&lt;/p>
&lt;h2 id="aufgabe-1-daten-als-excel-exportieren">Aufgabe 1: Daten als Excel exportieren&lt;/h2>
&lt;p>Wir verwenden das Projekt &amp;ldquo;Kretschmann Kabinett III&amp;rdquo;, das wir in &lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/01-projekte-laden/">Projekte in OpenRefine laden und verwalten&lt;/a> erstellt haben.&lt;/p>
&lt;p>Dort erstellen wir ein &amp;ldquo;Text Facet&amp;rdquo; auf der Spalte &amp;ldquo;Geschlecht&amp;rdquo; und wählen darüber alle weiblichen Kabinettsmitglieder aus.&lt;/p>
&lt;p>Über &amp;ldquo;Export&amp;quot;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Excel 2007+ (.xlsx)&amp;rdquo; erzeugen wir eine Excel Datei.&lt;/p>
&lt;h2 id="aufgabe-2-daten-als-csv-exportieren">Aufgabe 2: Daten als CSV exportieren&lt;/h2>
&lt;p>Wir verwenden das gleiche Setup wie in Aufgabe 1.&lt;/p>
&lt;p>Über &amp;ldquo;Export&amp;quot;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Comma-separated value&amp;rdquo; erzeugen wir eine CSV Datei.&lt;/p>
&lt;h2 id="aufgabe-3-datenexport-spezifizieren">Aufgabe 3: Datenexport spezifizieren&lt;/h2>
&lt;p>Wir verwenden das gleiche Setup wie in Aufgabe 1.&lt;/p>
&lt;p>Über &amp;ldquo;Export&amp;quot;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Custom tabular exporter&amp;hellip;&amp;rdquo; erzeugen wir eine spezielle Datei.&lt;/p>
&lt;p>Die Einstellungen sind mit Bildschirmfotos in Abbildung 1 und 2 dokumentiert.&lt;/p>
&lt;figure id="figure-bildschirmfoto-von-openrefine-export-einstellungen-1">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto von OpenRefine Export Einstellungen 1." srcset="
/workshop/openrefine-einsteiger/04-exportieren/screenshot_openrefine_export_custom_1_hue6fb988869e431cf86898e9a40a00c67_32699_6be5b4fb54c9d2b5fe663ffd49b6120e.webp 400w,
/workshop/openrefine-einsteiger/04-exportieren/screenshot_openrefine_export_custom_1_hue6fb988869e431cf86898e9a40a00c67_32699_ea83a9c2c54507ac113a1cb01656c994.webp 760w,
/workshop/openrefine-einsteiger/04-exportieren/screenshot_openrefine_export_custom_1_hue6fb988869e431cf86898e9a40a00c67_32699_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/04-exportieren/screenshot_openrefine_export_custom_1_hue6fb988869e431cf86898e9a40a00c67_32699_6be5b4fb54c9d2b5fe663ffd49b6120e.webp"
width="760"
height="557"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto von OpenRefine Export Einstellungen 1.
&lt;/figcaption>&lt;/figure>
&lt;figure id="figure-bildschirmfoto-von-openrefine-export-einstellungen-2">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto von OpenRefine Export Einstellungen 2." srcset="
/workshop/openrefine-einsteiger/04-exportieren/screenshot_openrefine_export_custom_2_hu00bec272d2b2ffd74665ad233cc818de_17287_b6c317d217c1c0d1fa2f4ab03a46ef4b.webp 400w,
/workshop/openrefine-einsteiger/04-exportieren/screenshot_openrefine_export_custom_2_hu00bec272d2b2ffd74665ad233cc818de_17287_a9db0cab7322ff2cc4dc1513d5e62126.webp 760w,
/workshop/openrefine-einsteiger/04-exportieren/screenshot_openrefine_export_custom_2_hu00bec272d2b2ffd74665ad233cc818de_17287_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/04-exportieren/screenshot_openrefine_export_custom_2_hu00bec272d2b2ffd74665ad233cc818de_17287_b6c317d217c1c0d1fa2f4ab03a46ef4b.webp"
width="760"
height="360"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto von OpenRefine Export Einstellungen 2.
&lt;/figcaption>&lt;/figure>
&lt;p>Die Dateiendung der heruntergeladenen Datei ändern wir anschließend von &lt;code>.txt&lt;/code> nach &lt;code>.csv&lt;/code>.&lt;/p>
&lt;h2 id="aufgabe-4-datenexporte-vergleichen">Aufgabe 4: Datenexporte vergleichen&lt;/h2>
&lt;p>Wir öffnen die drei exportierten Dateien mit Excel.&lt;/p>
&lt;p>Was sind die Unterschiede zwischen den Dateien?&lt;/p>
&lt;p>Welcher Export eignet sich für welchen Anwendungsfall?&lt;/p>
&lt;details class="spoiler " id="spoiler-7">
&lt;summary>&lt;strong>Hinweise/Lösungen:&lt;/strong>&lt;/summary>
&lt;p>&lt;ul>
&lt;li>Der normale Export berücksichtigt die momentan aktiven &amp;ldquo;Facets&amp;rdquo; und Filter.&lt;/li>
&lt;li>Excel erwartet bei CSV ein Semikolon &lt;code>;&lt;/code> als Trennzeichen und &lt;code>windows-1252&lt;/code> als Kodierung. Daher sieht die erste CSV-Datei in Excel &amp;ldquo;seltsam&amp;rdquo; aus. &lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/li>
&lt;li>Der normale CSV Export von OpenRefine ist mit Komma &lt;code>,&lt;/code> getrennt und verwendet &lt;code>utf-8&lt;/code> als Kodierung, wie es von den meisten Anwendungen erwartet wird.&lt;/li>
&lt;li>Beim spezifischen Datenexport hat man die Kontrolle darüber, was exportiert wird und kann Trennzeichen, Kodierungen, &amp;hellip; beeinflussen.&lt;/li>
&lt;li>Im FDMLab verwenden wir &lt;code>xlsx&lt;/code>, wenn die Daten in Excel weiter bearbeitet werden sollen, und &lt;code>csv&lt;/code>, wenn wir die Daten mit anderen Anwendungen weiter bearbeiten.&lt;/li>
&lt;/ul>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>Microsoft Excel hat einen &lt;a href="https://support.microsoft.com/de-de/office/textimport-assistent-c5b02af6-fda1-4440-899f-f78bafe41857" target="_blank" rel="noopener">Textimport-Assistenten&lt;/a>, mit dem auch andere Formate importiert werden können.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div>
&lt;/p>
&lt;/details>
&lt;h2 id="fazit">Fazit&lt;/h2>
&lt;p>OpenRefine kann die Projekte in gängige Formate exportieren.
Das ist schnell und bequem. Komplexer wird es bei verschachtelten Formaten wie XML.
Das behandeln wir in unserem Workshop für Fortgeschrittene.&lt;/p>
&lt;hr>
&lt;p>Im nächsten Teil beschäftigen wir uns mit den Mechanismen zum Clustering in OpenRefine.&lt;/p>
&lt;ul class="cta-group">
&lt;li>
&lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/05-clustering" class="btn btn-primary px-3 py-3">05 Daten mit OpenRefine clustern&lt;/a>
&lt;/li>
&lt;/ul></description></item></channel></rss>