Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中将Excel文件列表动态转换为csv文件_R_Csv_Xlsx - Fatal编程技术网

在R中将Excel文件列表动态转换为csv文件

在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

我目前有一个包含所有Excel(.xlsx)文件的文件夹,我想使用R自动将所有这些文件转换为CSV文件,使用“openxlsx”包(或一些变体)。我目前有以下代码来转换其中一个文件并将其放在同一文件夹中:
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
。如果你表现出一些主动性,人们就不太可能投反对票。