【问题标题】:r import excel sheets from file if sheet contain specific value in specific columnr 如果工作表在特定列中包含特定值,则从文件中导入 excel 工作表
【发布时间】:2021-08-20 12:04:10
【问题描述】:

我正在从单个 excel 文件中导入多个结构相似的工作表,但想知道如何在下面进行调整以仅导入那些在特定列(列 = 运动,价值 = 足球)

excel_sheets("mydata") %>%
  map_df(~read_xlsx("mydata", .x)

是否可以调整我的代码来执行此操作?

【问题讨论】:

  • 如果不阅读表格,您希望 R 如何“知道”sport 列是否包含值 foortball?心灵感应?静电除尘器?你最好阅读所有的表格,然后丢弃你不想要的。除非有另一种方式表明该工作表是相关的。也许是它的名字?

标签: r excel dplyr


【解决方案1】:

如果sport 列至少有一个值为'football',这将包括工作表。

library(readxl)
library(purrr)

excel_sheets("mydata") %>%
  map_df(~{
    tmp <- read_xlsx("mydata", .x)
    if(any(tmp$sport %in% 'football')) tmp
    })

【讨论】:

  • OP 希望导入那些在sport 列中包含football 的工作表,而不是全部导入,然后丢弃那些没有的工作表。但是,我同意您的解决方案是唯一明智方法的一个示例。
猜你喜欢
  • 2020-01-01
  • 1970-01-01
  • 2020-08-02
  • 1970-01-01
  • 2018-01-25
  • 1970-01-01
  • 2015-04-03
  • 2020-11-18
  • 2021-05-11
相关资源
最近更新 更多