从 R 中的大型 Excel 文件中读取/导入特定行
Read / Import specific rows from large Excel files in R
我有几十个非常重的 Excel 文件需要导入 R(然后重新绑定)。每个文件有 2 sheets,其中第二个 sheet(名称:“结果”)至少包含 100K 行,大约有 350 列。
我想按列从每个文件中读取 sheet“结果”的子集,但最重要的是按特定行读取。数据中的每个“ID”都有一个主行,然后是下面的多行,其中包含特定列中的数据。我只想读取主行(这使每个文件有 50-400 行(取决于文件)和 150 个变量)。对主要行进行编号的第一列没有 header.
这是数据的样子(简化):
我只想导入第一列不为空但已编号(即 1.、13.、34.、211.)的行和特定列,在此示例中为第 2、3、5 列(即姓名、ID、状态)。所需的输出将是:
有没有简单的方法可以做到这一点?
假设 a
是我们的 excel 文件,作为数据框。
library(readxl)
a <- as.data.frame(read_excel("Pattern/File.xlsx",sheet = "Results"))
例如,我们想要 select 列 1 到 3,所以使用
subset(a[,1:3],is.na(a[1])==FALSE)
通过此函数,您在第一列中使用不同于 NA 的值对输入数据框进行子集化。
输出:
...1 name ID
1 1 Dan us1d
4 13 Nev sa2e
6 34 Sam il5a
记下第一列名称(“...1”)。这是由 read_excel()
函数自动生成的,但应该不是问题。
我有几十个非常重的 Excel 文件需要导入 R(然后重新绑定)。每个文件有 2 sheets,其中第二个 sheet(名称:“结果”)至少包含 100K 行,大约有 350 列。
我想按列从每个文件中读取 sheet“结果”的子集,但最重要的是按特定行读取。数据中的每个“ID”都有一个主行,然后是下面的多行,其中包含特定列中的数据。我只想读取主行(这使每个文件有 50-400 行(取决于文件)和 150 个变量)。对主要行进行编号的第一列没有 header.
这是数据的样子(简化):
我只想导入第一列不为空但已编号(即 1.、13.、34.、211.)的行和特定列,在此示例中为第 2、3、5 列(即姓名、ID、状态)。所需的输出将是:
有没有简单的方法可以做到这一点?
假设 a
是我们的 excel 文件,作为数据框。
library(readxl)
a <- as.data.frame(read_excel("Pattern/File.xlsx",sheet = "Results"))
例如,我们想要 select 列 1 到 3,所以使用
subset(a[,1:3],is.na(a[1])==FALSE)
通过此函数,您在第一列中使用不同于 NA 的值对输入数据框进行子集化。
输出:
...1 name ID
1 1 Dan us1d
4 13 Nev sa2e
6 34 Sam il5a
记下第一列名称(“...1”)。这是由 read_excel()
函数自动生成的,但应该不是问题。