eine ZIP Datei in R einlesen
eine ZIP Datei in R einlesen
Hallo Leute,
gibt es eine Möglichkeit in R eine nicht entpackte ZIP Datei einzulesen?
Ich habe diese ZIP Datei bereits in meinem Arbeitsverzeichnis zu stehen und möchte sie nun einlesen, ohne sie vorher zu entpacken.
Hat jemand eine Idee wie das funktioniert?
Ich wäre sehr dankbar
Freundliche Grüße & schöne Ostern wünscht
Bill
gibt es eine Möglichkeit in R eine nicht entpackte ZIP Datei einzulesen?
Ich habe diese ZIP Datei bereits in meinem Arbeitsverzeichnis zu stehen und möchte sie nun einlesen, ohne sie vorher zu entpacken.
Hat jemand eine Idee wie das funktioniert?
Ich wäre sehr dankbar
Freundliche Grüße & schöne Ostern wünscht
Bill
Re: eine ZIP Datei in R einlesen
Hallo Bill,
ja, es geht, siehe
https://stackoverflow.com/a/3053883/5414452
(den download-Teil benötigst Du nicht)
Gruß, Jörg
ja, es geht, siehe
https://stackoverflow.com/a/3053883/5414452
(den download-Teil benötigst Du nicht)
Gruß, Jörg
Re: eine ZIP Datei in R einlesen
Hallo Jörg,
ich habe meinen Code entsprechend meiner Datei angepasst:
P.S.: in der read.table() Funktion wird am Ende eine dat. Datei eingesetzt. Wieso eigentlich? Ich habe doch eine ZIB Datei im Arbeitsverzeichnis!?
Liebe Grüße
Bill
ich habe meinen Code entsprechend meiner Datei angepasst:
Code: Alles auswählen
temp <- tempfile()
data <- read.table(unz(temp, "datei_2018_stata.dat"))
unlink(temp)/code]
Dies führte dann zu folgender Fehlermeldung:
[code]Fehler in open.connection(file, "rt") : kann Verbindung nicht öffnen
Zusätzlich: Warnmeldung:
In open.connection(file, "rt") :
kann Zipfile '/var/folders/1_/34wk2lsx01bgtnykry6wrpc80000gn/T//RtmpgtjjYs/file151a87f9b4397' nicht öffnen
P.S.: in der read.table() Funktion wird am Ende eine dat. Datei eingesetzt. Wieso eigentlich? Ich habe doch eine ZIB Datei im Arbeitsverzeichnis!?
Liebe Grüße
Bill
Re: eine ZIP Datei in R einlesen
Hallo Bill,
ich nehme an, Du hast eine ZIP-Datei im Arbeitsverzeichnis liegen und keine ZIB-Datei.
Wenn Du eine ZIP-Datei im Arbeitsverzeichnis liegen hast, warum kommt dann kein Pfad hin zu einer ZIP-Datei in Deinem angepassten Code vor?
LG,
Bernhard
ich nehme an, Du hast eine ZIP-Datei im Arbeitsverzeichnis liegen und keine ZIB-Datei.
Wenn Du eine ZIP-Datei im Arbeitsverzeichnis liegen hast, warum kommt dann kein Pfad hin zu einer ZIP-Datei in Deinem angepassten Code vor?
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: eine ZIP Datei in R einlesen
Hallo Bernhard,
ich habe mich gerade nochmal in die unzip() Funktion eingelesen und nun folgendes codiert:
Der Filename in der ZIP Datei ist eine .dta Datei.
Nun bekomme ich als Output folgendes Kryptisches, was ich nicht erwartet habe:
Hängt das vielleicht damit zusammen, dass der Filename in der ZIP Datei eine .dta Datei ist??
Liebe Grüße
Bill
ich habe mich gerade nochmal in die unzip() Funktion eingelesen und nun folgendes codiert:
Code: Alles auswählen
zipfileinfos <- unzip(zipfile = "/Users/Bill/Rstudio-workspace/Statistical Programming/2018_stata.zip", list=TRUE)
data <- read.table(unz(filename = zipfileinfos$Name, description = "/Users/Bill/Rstudio-workspace/Statistical Programming/2018_stata.zip"))
Nun bekomme ich als Output folgendes Kryptisches, was ich nicht erwartet habe:
Code: Alles auswählen
> data
V1
1 q\002\001
2 \xfb\xfb\xfb\xfb\xfb
Hängt das vielleicht damit zusammen, dass der Filename in der ZIP Datei eine .dta Datei ist??
Liebe Grüße
Bill
Re: eine ZIP Datei in R einlesen
Die Zusatzpakete foreign und haven haben jeweils Funktionen, die versuchen, Statafiles für R zu entziffern. Ich kann da auch nur googlen.
read.table kann keine Stata-files lesen.
LG Bernhard
read.table kann keine Stata-files lesen.
LG Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: eine ZIP Datei in R einlesen
Hallo Bill,
bei mir funktioniert folgendes:
(Ich hatte zwei die zwei CSV-Dateien in diesem Verzeichnis in ein ZIP-Archiv gepackt.)
Hier der output:
Gruß, Jörg
bei mir funktioniert folgendes:
Code: Alles auswählen
setwd("/home/...")
dir()
unzip("mein.zip", list=TRUE)
Dat <- read.table(unz("mein.zip", filename = "df_4.csv"), header=TRUE, sep=";")
head(Dat)
Hier der output:
Code: Alles auswählen
> setwd("/home/...")
> dir()
[1] "df_2.csv" "df_4.csv" "mein.zip"
> unzip("mein.zip", list=TRUE)
Name Length Date
1 df_2.csv 40745 2018-10-15 08:17:00
2 df_4.csv 21676 2018-10-15 08:18:00
>
> Dat <- read.table(unz("mein.zip", filename = "df_4.csv"), header=TRUE, sep=";")
>
> head(Dat)
Class Group Hoehen Hoehenklassen Dichte
1 100 4 974.0059 4 2
2 100 4 863.6337 3 3
3 100 4 768.8760 3 3
4 70 4 799.5183 3 3
5 70 4 834.2877 3 3
6 70 4 888.9432 3 3
Re: eine ZIP Datei in R einlesen
Hallo Jörg,
danke erstmal für deine Ausführungen.
Leider kann ich die read.table() Funktion zum Einlesen nicht benutzen, da mein filename Argument eine .dta Datei beinhaltet.
Wenn ich nun jedoch anstatt der read.table Funktion die Funktion read.dta() aus dem foreign Paket nehme, erscheint die Fehlermeldung:
Wahrscheinlich liegt da der Hase im Pfeffer? Also das ich eben nicht über die read.table() Funktion einlesen kann, sondern die read.dta() nehmen muss?!
Inzwischen habe ich die ZIP Datei manuell entpackt und dann entsprechend über read.dta() eingelesen.
Liebe Grüße
Bill
danke erstmal für deine Ausführungen.
Leider kann ich die read.table() Funktion zum Einlesen nicht benutzen, da mein filename Argument eine .dta Datei beinhaltet.
Wenn ich nun jedoch anstatt der read.table Funktion die Funktion read.dta() aus dem foreign Paket nehme, erscheint die Fehlermeldung:
Code: Alles auswählen
Fehler in read.dta(unz(filename = "GSS2018.dta", description="2018_stata.zip")) :
first argument must be a file name
Inzwischen habe ich die ZIP Datei manuell entpackt und dann entsprechend über read.dta() eingelesen.
Liebe Grüße
Bill
Re: eine ZIP Datei in R einlesen
Hallo Bill,
(Für Einzelheiten die Doku lesen.)
Wenn Du möchtest, kannst die Sache mit dem tempfile nutzen aus der zuerst verlinkten Antwort.
Gruß, Jörg
ja, nicht jede Funktion kann sogenannte connections verwenden. read.table() kann es, read.dta() offensichtlich nicht.Bill hat geschrieben: Mi Apr 15, 2020 6:38 pm Leider kann ich die read.table() Funktion zum Einlesen nicht benutzen, da mein filename Argument eine .dta Datei beinhaltet.
Wenn ich nun jedoch anstatt der read.table Funktion die Funktion read.dta() aus dem foreign Paket nehme, erscheint die Fehlermeldung:
Wahrscheinlich liegt da der Hase im Pfeffer?Code: Alles auswählen
Fehler in read.dta(unz(filename = "GSS2018.dta", description="2018_stata.zip")) : first argument must be a file name
(Für Einzelheiten die Doku lesen.)
genau so.Inzwischen habe ich die ZIP Datei manuell entpackt und dann entsprechend über read.dta() eingelesen.
Wenn Du möchtest, kannst die Sache mit dem tempfile nutzen aus der zuerst verlinkten Antwort.
Gruß, Jörg