该算法模仿浏览器的操作,但会在覆盖的每个单元格中重复合并单元格的值。
用法
html_table(
x,
header = NA,
trim = TRUE,
fill = deprecated(),
dec = ".",
na.strings = "NA",
convert = TRUE
)
参数
- x
-
文档(来自
read_html()
)、节点集(来自html_elements()
)、节点(来自html_element()
)或会话(来自session()
)。 - header
-
使用第一行作为标题?如果
NA
,如果第一行包含<th>
标签,则将使用第一行。如果
TRUE
,列名称与源文档中的名称完全相同,这可能需要 post-processing 生成有效的数据帧。 - trim
-
删除每个单元格内的前导和尾随空格?
- fill
-
已弃用 - 表中缺失的单元格现在始终自动填充
NA
。 - dec
-
用作小数位标记的字符。
- na.strings
-
如果
convert
是TRUE
,则将转换为NA
的值的字符向量。 - convert
-
如果
TRUE
,将运行type.convert()
将文本解释为整数、双精度或NA
。
例子
sample1 <- minimal_html("<table>
<tr><th>Col A</th><th>Col B</th></tr>
<tr><td>1</td><td>x</td></tr>
<tr><td>4</td><td>y</td></tr>
<tr><td>10</td><td>z</td></tr>
</table>")
sample1 %>%
html_element("table") %>%
html_table()
#> # A tibble: 3 × 2
#> `Col A` `Col B`
#> <int> <chr>
#> 1 1 x
#> 2 4 y
#> 3 10 z
# Values in merged cells will be duplicated
sample2 <- minimal_html("<table>
<tr><th>A</th><th>B</th><th>C</th></tr>
<tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td colspan='2'>4</td><td>5</td></tr>
<tr><td>6</td><td colspan='2'>7</td></tr>
</table>")
sample2 %>%
html_element("table") %>%
html_table()
#> # A tibble: 3 × 3
#> A B C
#> <int> <int> <int>
#> 1 1 2 3
#> 2 4 4 5
#> 3 6 7 7
# If a row is missing cells, they'll be filled with NAs
sample3 <- minimal_html("<table>
<tr><th>A</th><th>B</th><th>C</th></tr>
<tr><td colspan='2'>1</td><td>2</td></tr>
<tr><td colspan='2'>3</td></tr>
<tr><td>4</td></tr>
</table>")
sample3 %>%
html_element("table") %>%
html_table()
#> # A tibble: 3 × 3
#> A B C
#> <int> <int> <int>
#> 1 1 1 2
#> 2 3 3 NA
#> 3 4 NA NA
相关用法
- R rvest html_text 获取元素文本
- R rvest html_encoding_guess 猜测字符编码错误
- R rvest html_element 从 HTML 文档中选择元素
- R rvest html_form 解析表单并设置值
- R rvest html_children 获取元素子元素
- R rvest html_name 获取元素名称
- R rvest html_attr 获取元素属性
- R rvest session 在网络浏览器中模拟会话
- R rvest minimal_html 从内联 HTML 创建 HTML 文档
- R predict.rpart 根据拟合的 Rpart 对象进行预测
- R SparkR randomSplit用法及代码示例
- R reprex un-reprex 取消渲染reprex
- R SparkR read.stream用法及代码示例
- R SparkR rbind用法及代码示例
- R readr datasource 创建源对象。
- R readr melt_delim 返回分隔文件中每个标记的熔化数据(包括 csv 和 tsv)
- R readr read_rds 读/写 RDS 文件。
- R readr read_lines 从文件中读取/写入行
- R SparkR rollup用法及代码示例
- R readr parse_number 灵活地解析数字
- R snip.rpart 剪切 Rpart 对象的子树
- R labels.rpart 为 Rpart 对象创建分割标签
- R SparkR refreshByPath用法及代码示例
- R summary.rpart 总结拟合的 Rpart 对象
- R printcp 显示拟合 Rpart 对象的 CP 表
注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Parse an html table into a data frame。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。