Разобрать несколько файлов XBRL, хранящихся в zip-файле
Я загрузил несколько zip-файлов с веб-сайта. Каждый почтовый файл содержит несколькоhtml
а такжеxml
файлы расширения (~ 100K в каждом).
Можно вручную извлечь файлы и затем проанализировать их. Тем не менее, я хотел бы иметь возможность сделать это в течениеR
(если возможно)
Файл примера (извините, он немного большой) с использованием кода изпредыдущий вопрос - скачать один почтовый файл
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))
Я могу разобрать файлы, используяXBRL package
если я вручную извлеку их. Это можно сделать следующим образом
library(XBRL)
inst <- file.path("temp", "Prod224_0004_00000121_20130630.html")
out <- xbrlDoAll(inst, cache.dir="temp/hmrcCache", prefix.out=NULL, verbose=T)
Я борюсь с тем, как извлечь эти файлы из папки zip и проанализировать каждый, скажем, в цикле, используя R, без их извлечения вручную. Я пытался начать, но не знаю, как двигаться дальше. Спасибо за любой совет.
# 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)
Я использую Windows 8.1
Версия R 3.1.2 (2014-10-31)
Платформа: x86_64-w64-mingw32 / x64 (64-разрядная версия)