Seite 1 von 1

Datenimport und deutsche Umlaute

Verfasst: Fr Nov 09, 2018 12:58 pm
von benne
Hallo allerseits,

im Augenblick muss ich eine Datei mit fester Spaltenbreite in R importieren.
Nach einigem Testen und Recherchieren verwende ich dazu die Funktion read_fwf aus dem readr-Paket.
Die ist ordentlich schnell und einfach zu verwenden.

Probleme bereitet mir jetzt aber ein Feld, in dem Ortsnamen stehen, die auch deutsche Umlaute enthalten.
Laut Windows-Editor ist die Datei "UTF-8-UNIX" kodiert.
Wenn ich die jetzt per read_fwf einlese, werden alle Felder nach dem Ortsnamen, die einen Umlaut enthalten, um ein Zeichen versetzt.

In meiner Ursprungsdatei steht beispielsweise:

Code: Alles auswählen

...Herne                                    mGS...
...Lübeck                                   wLD...
Aus diesem Datenfragment sollten die drei Felder "Ortsname", "Geschlecht" und "Familienstand" gefüllt werden.
Im ersten Fall funktioniert das auch, und ich erhalte als Ortsname "Herne", für Geschlecht "m" und beim Familienstand ist es eben "GS".
Beim zweiten Datensatz bleibt das Merkmal Geschlecht leer und dafür steht im Familienstand "wL", während das "D" noch wieder ein Feld "weiterrutscht".

Langer Rede, kurzer Sinn.
Kann ich die Kodierung für Dateioperationen anpassen und wenn ja, wie und wo?

Vielen Dank schonmal vorab
Benne

Nachtrag:

Ich hab' jetzt mal ausprobiert, was passiert, wenn ich mit UltraEdit den Zeichensatz auf "DOS" setze.
Dann sieht im Editor alles gut aus, die Datei wird von R per read_fwf insoweit korrekt eingelesen, dass alle Spalten an der korrekten Stelle landen.
Allerdings zeigt mir R jetzt die Umlaute nicht mehr richtig an.
Für ein "ü" steht da dann "<fc>" und aus einem "ä" wird "<e4>".

Ist das jetzt nur ein Anzeigeproblem von R bzw. RStudio?

Nebenbei bemerkt, arbeite ich hier unter Windows 7.

Re: Datenimport und deutsche Umlaute

Verfasst: Fr Nov 09, 2018 7:25 pm
von EDi
Ich bin zwar kein readr Nutzer aber schau dir mal ?
readr::locale() an.

https://cran.r-project.org/web/packages ... cales.html

Und dort dann das encoding setzen. Unter windoze ist das oft "latin-1", soweit ich mich erinnere.

Re: Datenimport und deutsche Umlaute

Verfasst: Sa Nov 10, 2018 9:52 pm
von benne
Oh Mann, wenn ich Montag wieder im Büro bin, probier' ich das direkt aus.
Und dann muss ich mir direkt eine neue Brille besorgen, weil ich den Befehl offensichtlich komplett übersehen habe. :oops:

Vielen Dank schonmal für die Antwort.

Ganz nebenbei gefragt, wenn du sagst du bist kein readr-Nutzer:
Was kannst du denn empfehlen, um Dateien mit fester Spaltenlänge einzulesen?

Schönen Gruß
Benne

Re: Datenimport und deutsche Umlaute

Verfasst: So Nov 11, 2018 8:16 am
von EDi
Ganz nebenbei gefragt, wenn du sagst du bist kein readr-Nutzer:
Was kannst du denn empfehlen, um Dateien mit fester Spaltenlänge einzulesen?
Hab ich nicht so oft, aber out-of-the-box kommt R mit read.fwf(), welches auch encodings handhaben kann. Ist aber nicht besonders flott. Ich mag data.table::fread, aber das brauch für fixed-width einen kleinen Hack, siehe hier https://stackoverflow.com/questions/247 ... idth-files

Re: Datenimport und deutsche Umlaute

Verfasst: Mo Nov 12, 2018 4:12 pm
von benne
Man reiche mir eine neue Brille!

Dein Tipp mit der locale-Funktion war der richtige Hinweis, EDi.
Die Kodierung hier ist zwar "Windows-1250", aber immerhin bleibt jetzt die Satzstruktur erhalten.

Unschön ist jetzt nur, dass die Umlaute in RStudio nicht mehr korrekt angezeigt werden
Statt eines 'ü' steht da jetzt "<fc>".
Da ich den Klartextnamen aber über ein externes Programm in Schlüsselwerte übersetzen lasse mit denen ich weiterarbeite, fällt das nicht weiter ins Gewicht.

Vielen Dank nochmal.

Re: Datenimport und deutsche Umlaute

Verfasst: Mo Nov 12, 2018 5:38 pm
von Athomas
Gibt es einen Grund, warum Du nicht ein paar Zeilen Deiner Einlesedatei (bei denen der Fehler aber noch auftritt) hier als Datei angehängt hast?
Ich könnte mir vorstellen, dass da noch mehr geht...

Re: Datenimport und deutsche Umlaute

Verfasst: Mo Nov 12, 2018 8:09 pm
von bigben
Vielleicht RStudio >> Tools >> Global Options... >> Code >> Saving >> Default text encoding :?:

Re: Datenimport und deutsche Umlaute

Verfasst: Mo Nov 12, 2018 9:30 pm
von EDi

Re: Datenimport und deutsche Umlaute

Verfasst: Mi Dez 19, 2018 9:20 am
von benne
So, nachdem ich einiges anderes erledigt habe, bin ich endlich wieder dazu gekommen, mich dem Problem das Datenimports und der deutschen Umlaute zu widmen.

Nach etwas Recherche bin ich auf das rio-Paket gestoßen und muss sagen, dass ich begeistert bin.
Die Import-Routine ist sowas von flott, da kann ich nichtmals aufstehen, um zur Kaffeemaschine zu laufen.
Noch dazu wird der Zeichensatz ohne weiteres Zutun meinerseits richtig erkannt und übernommen.

Sollte noch jemand vor dem Problem stehen, dann liegt hier eine Lösung.
Meinen Respekt an die Macher hinter rio!

Schönen Gruß
Benne

Re: Datenimport und deutsche Umlaute

Verfasst: Mi Dez 19, 2018 12:05 pm
von Athomas
Aber mit einer anfängerfreundlichen Import-/Export-Funktion ist R doch nicht mehr das, was es mal war! Pfui :lol: !

Ich verlinke hier mal die erste Seite der Vignette: https://cran.r-project.org/web/packages ... s/rio.html
Besten Dank für den Tipp!