在R中将Excel文件列表动态转换为csv文件
我目前有一个包含所有Excel(.xlsx)文件的文件夹,我想使用R自动将所有这些文件转换为CSV文件,使用“openxlsx”包(或一些变体)。我目前有以下代码来转换其中一个文件并将其放在同一文件夹中:在R中将Excel文件列表动态转换为csv文件,r,csv,xlsx,R,Csv,Xlsx,我目前有一个包含所有Excel(.xlsx)文件的文件夹,我想使用R自动将所有这些文件转换为CSV文件,使用“openxlsx”包(或一些变体)。我目前有以下代码来转换其中一个文件并将其放在同一文件夹中:convert(“team\u order\\team\u 1.xlsx”,“team\u order\\team\u 1.csv”) 我想自动处理这个过程,这样它就可以处理文件夹中的所有文件,同时也可以删除当前的xlsx文件,所以只保留csv文件。谢谢 library(readxl) # C
convert(“team\u order\\team\u 1.xlsx”,“team\u order\\team\u 1.csv”)
我想自动处理这个过程,这样它就可以处理文件夹中的所有文件,同时也可以删除当前的xlsx文件,所以只保留csv文件。谢谢
library(readxl)
# Create a vector of Excel files to read
files.to.read = list.files(pattern="xlsx")
# Read each file and write it to csv
lapply(files.to.read, function(f) {
df = read_excel(f, sheet=1)
write.csv(df, gsub("xlsx", "csv", f), row.names=FALSE)
})
您可以使用下面的命令删除这些文件。但是,在上一个代码之后立即自动运行是危险的。如果前面的代码由于某种原因失败,下面的代码仍将删除您的Excel文件
lapply(files.to.read, file.remove)
为了安全起见,您可以将其包装在一个try/catch
块中。您可以使用尝试,因为这似乎是您已经在使用的:
library("rio")
xls <- dir(pattern = "xlsx")
created <- mapply(convert, xls, gsub("xlsx", "csv", xls))
unlink(xls) # delete xlsx files
library(“里约”)
xls使用以下策略执行一些搜索:[r]list.files
。如果你表现出一些主动性,人们就不太可能投反对票。