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)