【问题标题】:List nested Excel files in R directories列出 R 目录中的嵌套 Excel 文件
【发布时间】:2020-12-30 01:06:16
【问题描述】:

我在 Windows 10 上使用了以下目录结构。

C:
├── my-R-working-directory/
    ├── excel01.xlsx
    ├── excel02.xlsx
    ├── nested-folder-A
    |   ├── excel03.xlsx
    └── nested-folder-B
        └── excel04.xlsx

我可以使用以下命令直接在我的工作目录中列出所有 Excel 文件:

getwd()
#> "C:/my-R-working-directory"

list.files("path/of/folder", pattern = "\\.xlsx$", full.names = TRUE)
#> [1] "C:/my-R-working-directory/excel01.xlsx
#> [2] "C:/my-R-working-directory/excel02.xlsx

pattern 参数可以使用什么正则表达式来列出所有嵌套级别深的 Excel 文件?换句话说,我只想查看nested-folder-Anested-folder-B 中的Excel 文件,这将是excel03.xlsxexcel04.xlsx(以及恰好位于一层深的文件夹中的任何其他Excel 文件)。

我的想法是使用你在下面看到的,但它返回character(0),我认为这意味着我的正则表达式是错误的:

list.files("path/of/folder", pattern = "\\\\.xlsx$", full.names = TRUE)
#> character(0)

我使用了在工作目录中查看的pattern = "\\.xlsx$",并尝试上一层,即pattern = "\\\\.xlsx$"。尝试失败。这样做的正确方法是什么?

【问题讨论】:

    标签: r excel regex import readr


    【解决方案1】:

    如果您查看list.files() 中的recursive 参数,它可以让您看到较低级别目录中的文件。结合pattern = "\\.xlsx$" 将匹配所有递归目录中的Excel文件。

    list.files("path/of/folder", pattern = "\\.xlsx$", full.names = TRUE, recursive = TRUE)

    如果您想做特定级别的递归列表文件,这个answer 可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 2019-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-09
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      相关资源
      最近更新 更多