2014-01-21 2 views
-1

У меня есть HTML (локально) файл Скрип, который выглядит следующим образом:все значения из локального файла HTML в R

enter image description here

Был бы кто-то так добры и показать мне, как подойти к этому, очищая несколько строк, данные такой вид макета?

Это один из многих неудачных испытаний:

library(XML) 
example.html <- scan(file=file.choose(),what="character") 
parse.html <- htmlTreeParse(example.html, useInternalNodes = TRUE) 
xpath.val <- xpathApply(parse.html, '//div', xmlValue) 
g.val <- gsub('\\s', '', xpath.val) 

Если кто-то будет интересно посмотреть сам HTML файл here

EDIT: Конечно, я не ожидал, что кто решить эту всю вопрос. Я был бы доволен любой мыслью о том, где искать.

+1

Это очень плохо сформированный HTML, слишком плохо. Какие ценности вы хотите? – sckott

+0

Спасибо, что посмотрели на это! Фактически все значения, предпочтительно извлеченные в data.frame – Maximilian

+0

Ссылка HTML не работает, этот вопрос больше не имеет значения для будущих читателей. –

ответ

1

Хорошо, это не получает вас совсем всю дорогу, но, возможно, это помогает

library(XML) 
library(stringr) 
namespaces=c(xmlns="http://www.xbrl.org/2008/inlineXBRL") 
parse.html <- htmlTreeParse("~/Downloads/html1.html", useInternalNodes=TRUE) 
tt <- xpathApply(parse.html, '//tr[@class="iris_table_row"]', namespaces=namespaces) 
foo <- function(x){ 
    vals <- sapply(xmlChildren(x), xmlValue) 
    str_trim(vals[names(vals) %in% "td" & sapply(vals, nchar)>0], "both") 
} 
rows <- lapply(tt, foo) 
rows[170:175] 

[[1]] 
td 
"%" 

[[2]] 
       td     td 
"Class of shares:"   "holding" 

[[3]] 
     td   td 
"Ordinary" "100.00" 

[[4]] 
      td    td 
     "Page 5" "continued..." 

[[5]] 
                 td 
"Whitton Park Estates Limited (Registered number: 00231549)" 

[[6]] 
             td 
"Notes to the Abbreviated Accounts - continued" 
+0

Это все, что мне нужно. Я могу работать с этим. Бесконечно благодарен! – Maximilian