r - 使用R从多个excel文件中提取数据
问题描述
这是我尝试过的。虽然我能够提取 B15:G17 中的单元格范围,但如何将单元格 B8 附加到列中?另外,可以将第 10 行作为列标题吗?
library("readxl")
file.list <- list.files(path=".", pattern=".xlsx")
df.list <- lapply(file.list, read_excel, sheet=1, range=("B15:G17"), col_names=FALSE, col_types = NULL)
df <- data.frame(df.list)
解决方案
read.xlsx
fromopenxlsx
更灵活一点,因为我们可以指定读取特定单元格的参数rows/cols
以及startRow
用于指定起始行
library(openxlsx)
lst1 <- lapply(file.list, function(x) read.xlsx(x, sheet = 1, startRow = 10, cols = 3:6, rows = 15:17))
另外,单独读取特定单元格,然后将其绑定为每个数据集中的新列“ID list
”Map
和cbind
lst2 <- lapply(file.list, function(x) setNames(read.xlsx(x, sheet = 1,
rows = 8, cols = 2), 'ID'))
Map(cbind, ID = lst2, lst1)
推荐阅读
- python - 使用 json_normalize 展平嵌套的 json
- graph - 在 Common Lisp 中表示有向无环图
- node.js - 使用 Node 8.11 时出现 ssh_exchange_identification 错误,但在使用 Node 4.7 时没有
- reactjs - 无法在本机基础中打开抽屉
- grpc - 如何使用nest.js创建不在控制器中的grpc客户端
- sql - 重复项的 SQL 结果 - Oracle
- python - VTK,Mayavi BUG:所有 `ButtonReleaseEvents` 都失败,但所有 `ButtonPressEvents` 工作?
- ruby-on-rails - 未执行索引控制器操作且未呈现视图
- agda - 编码集合(唯一元素列表)的正确方法是什么?
- java - 在 React Native 的桥接 Java 方法中使用 Logback