Parsen Sie mehrere XBRL-Dateien, die in einer ZIP-Datei gespeichert sind.

Ich habe mehrere ZIP-Dateien von einer Website heruntergeladen. Jede Zip-Datei enthält mehrerehtml undxml Erweiterungsdateien (jeweils ~ 100 KB).

Es ist möglich, die Dateien manuell zu extrahieren und sie dann zu analysieren. Ich möchte dies jedoch innerhalb von @ tun könneR (wenn möglich

Beispieldatei (leider etwas groß) mit Code aus einem vorherige Frage - eine zip-Datei herunterladen

library(XML)

pth <- "http://download.companieshouse.gov.uk/en_monthlyaccountsdata.html"
doc <- htmlParse(pth)

myfiles <- doc["//a[contains(text(),'Accounts_Monthly_Data')]", fun = xmlAttrs][[1]]
fileURLS <- file.path("http://download.companieshouse.gov.uk", myfiles) [[1]]

dir.create("temp", "hmrcCache")
download.file(fileURLS, destfile = file.path("temp", myfiles))

Ich kann die Dateien mit demXBRL package wenn ich sie manuell extrahiere. Dies kann wie folgt erfolgen

library(XBRL)     
inst <- file.path("temp", "Prod224_0004_00000121_20130630.html")
out <- xbrlDoAll(inst, cache.dir="temp/hmrcCache", prefix.out=NULL, verbose=T)

Ich habe Probleme damit, diese Dateien aus dem ZIP-Ordner zu extrahieren und sie beispielsweise in einer Schleife mit R zu analysieren, ohne sie manuell zu extrahieren. Ich habe versucht, einen Anfang zu machen, weiß aber nicht, wie ich von hier aus vorankommen soll. Danke für jeden Rat.

# Get names of files
lst <- unzip(file.path("temp", myfiles), list=TRUE)
dim(lst) # 118626

# unzip  and extract first file
nms <- lst$Name[1] # Prod224_0004_00000121_20130630.html
lst2 <- unz(file.path("temp", myfiles), filename=nms)

Ich benutze Windows 8.1

R Version 3.1.2 (31.10.2014)

Plattform: x86_64-w64-mingw32 / x64 (64-Bit)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage