在R中解析xml的最简单方法是什么?

问题描述 投票:0回答:1

如何使用R从此xml提取数据并将其转换为R数据帧?

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

我从没有在R中使用过xml,所以请原谅我没有代码!

r xml
1个回答
0
投票

奇怪的是,尽管此页面被标记为xml,但实际上是html。

您可以使用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

reprex package(v0.3.0)在2020-02-24创建

© www.soinside.com 2019 - 2024. All rights reserved.