【问题标题】:import multiple files from a folder and append the password protected data从文件夹中导入多个文件并附加受密码保护的数据
【发布时间】:2020-06-03 15:27:23
【问题描述】:

根据@Gregory Demin 的回答,我使用以下代码导入了受密码保护的 xlsx 文件。

filename = "Data - x.xlsx"
xl.workbook.open(filename, password = "******")
new_path = paste0(tempdir(), "\\", filename)
xl()[["Activeworkbook"]]$saveas(new_path, AccessMode=xl.constants$xlExclusive)
#xl()[["Activesheet"]]$Unprotect(password = "******)
df= xl[b11:dz46]
xl.workbook.close()
unlink(new_path)
names(df) <- df[1,]
df <- df[-1,]###Changing the first row as header

这对我来说非常适合。但是,问题是我在一个文件夹中有 100 个文件,每个文件都有不同的密码。所以我需要一次又一次地重复这个。有没有办法我可以做到这一点。另外,我想最终将所有数据附加到 1 个文件中,文件名在单独的列中。

【问题讨论】:

    标签: r dplyr readxl


    【解决方案1】:

    创建一个包含文件列和相关密码的数据框。修改您的代码,使其成为一个函数,并通过您使用行作为参数创建的数据框进行循环。

    #useful functions
    list.files()
    

    【讨论】:

    • 实际上,我有一个单独的数据框(即 pwd_df),每个文件有 2 列文件名和密码。但不知道如何在此处循环以自动获取每个文件的密码
    • 除了有人为您编写代码之外,您还需要阅读一些有关 R 编程语言的文档。 R_inferno
    • 感谢您的参考文档。根据输入,我以某种方式用动态密码构造了循环,并成功获得了期望的输出。非常感谢您的回复。
    猜你喜欢
    • 2014-12-16
    • 1970-01-01
    • 2019-10-22
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 2010-09-22
    • 1970-01-01
    相关资源
    最近更新 更多