Какой самый простой способ разобрать xml в R? - PullRequest
0 голосов
/ 24 февраля 2020

Как я могу извлечь данные из этого xml с помощью R и преобразовать их в кадр данных R?

https://www.sec.gov/Archives/edgar/data/1556921/000121465920001487/xslForm13F_X01/infotable.xml

Я никогда не использовал xml в R, так что извините, если у меня нет кода, на который можно было бы опираться!

1 Ответ

2 голосов
/ 24 февраля 2020

Как ни странно, эта страница на самом деле html, несмотря на то, что она помечена как xml.

. Вы можете прочитать данные, используя пакет rvest, который использует пакет XML xml2 в капот:

library(rvest)
#> Loading required package: xml2

url  <- "https://www.sec.gov/Archives/edgar/data/1556921/000121465920001487/xslForm13F_X01/infotable.xml"
page <- read_html(url)
df   <- html_table(html_nodes(page, xpath = "//table")[4])
df
#> [[1]]
#>                                X1               X2        X3       X4        X5
#> 1                        COLUMN 1         COLUMN 2  COLUMN 3 COLUMN 4  COLUMN 5
#> 2                                                               VALUE   SHRS OR
#> 3                  NAME OF ISSUER   TITLE OF CLASS     CUSIP (x$1000)   PRN AMT
#> 4                        AAR CORP              COM 000361105      317     7,030
#> 5                     ABBOTT LABS              COM 002824100    5,986    68,920
#> 6                      ABBVIE INC              COM 00287Y109   26,243   296,401
#> 7                     ABIOMED INC              COM 003654100    7,112    41,691
#> 8       ACACIA COMMUNICATIONS INC              COM 00401C108    4,069    60,013
#> 9    ACHILLION PHARMACEUTICALS IN              COM 00448Q201      374    62,079
#> 10        ACORDA THERAPEUTICS INC              COM 00484M106      149    73,082
#> 11        ACTIVISION BLIZZARD INC              COM 00507V109   34,034   572,778
#> 12         ACUSHNET HOLDINGS CORP              COM 005098108      308     9,472
#> 13            ADDUS HOMECARE CORP              COM 006739106    2,537    26,094
#> 14                     ADIENT PLC          ORD SHS G0084W101      931    43,801
#> 15                      ADOBE INC              COM 00724F101   41,050   124,467
#> 16                        ADT INC              COM 00090Q103      127    15,981
#> 17         ADVANCE AUTO PARTS INC              COM 00751Y106    3,190    19,917
#> 18     ADVANCED DRAIN SYS INC DEL              COM 00790R104      408    10,496
#
#
# ... etc

Создано в 2020-02-24 с помощью пакета представительство (v0.3.0)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...