簡體   English   中英

從 R 中的大型 Excel 文件讀取/導入特定行

[英]Read / Import specific rows from large Excel files in R

我有幾十個非常重的 Excel 文件需要導入到 R(然后重新綁定)。 每個文件有 2 個工作表,其中第二個工作表(名稱:“結果”)至少包含 100K 行,大約有 350 列。

我想按列從每個文件中讀取工作表“結果”的一個子集,但最重要的是,按特定行讀取。 數據中的每個“ID”都有一個主行,然后是下面的多行,其中包含特定列中的數據。 我只想讀取主行(這使每個文件有 50-400 行(取決於文件)和 150 個變量)。 對主要行進行編號的第一列沒有 header。

這是數據的樣子(簡化): 在此處輸入圖像描述

我只想導入第一列不為空但已編號(即 1.、13.、34.、211.)的行和特定列,在此示例中為第 2、3、5 列(即名稱、身份、狀態)。 所需的 output 將是:

在此處輸入圖像描述

有沒有簡單的方法可以做到這一點?

假設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)

通過這個 function,您正在使用不同於第一列中的 NA 的值對輸入數據框進行子集化。

Output:

  ...1 name   ID
1    1  Dan us1d
4   13  Nev sa2e
6   34  Sam il5a

注意第一列名稱(“...1”)。 這是由read_excel() function 自動生成的,但應該不是問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM