Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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中将CSV文件转换为Excel_R - Fatal编程技术网

在R中将CSV文件转换为Excel

在R中将CSV文件转换为Excel,r,R,我的问题和这个类似 但是,通过使用那篇文章中提到的代码,文件名将更改为file,后跟文件所在的序列号。我的问题是如何保留文件名? 就像现在我们得到了file1.xlsx,file2.xlsx,等等。。我希望能够 分析报告.xlsx,预算.xlsx。有什么建议吗 这是我正在使用的代码 filenames <- list.files("D:/finished CSVs", pattern="*.csv", full.names=TRUE) for(i in 1:length(filenam

我的问题和这个类似

但是,通过使用那篇文章中提到的代码,文件名将更改为file,后跟文件所在的序列号。我的问题是如何保留文件名? 就像现在我们得到了file1.xlsx,file2.xlsx,等等。。我希望能够 分析报告.xlsx,预算.xlsx。有什么建议吗

这是我正在使用的代码

 filenames <- list.files("D:/finished CSVs", pattern="*.csv", full.names=TRUE)

for(i in 1:length(filenames))
{
  a<- read.csv(filenames[i])
  write.xlsx(a,paste("file",i,".xlsx", sep=""))
}

文件名在这种情况下,您可以尝试迭代名称:

filenames <- list.files("D:/finished CSVs", pattern="*.csv", full.names=TRUE)

for(i in filenames) {
  a <- read.csv(i)
  new_name <- sub('.csv', '.xlsx', i, fixed = TRUE)
  write.xlsx(a, new_name)
}

可以使用
basename()
检索路径中的文件名。像这样的东西应该有用


convert_csv_to_xlsx显示您正在使用的代码,我们可以帮助您修改它。代码添加到原始帖子中。谢谢。有时候我会把事情弄得比实际情况困难得多:P。谢谢@GregorIt,这很有效。非常感谢。但只有一个问题,我在xlsx文件的第一列中得到了rownumber。就像我打开xlsx文件时,A列有数字,我猜是R中的行号?不客气:)。使用
write.xlsx(一个新的名称,row.names=FALSE)
@LyzanderR我正要回答说我明白了。谢谢你们的帮助。@Gregor和jomuller谢谢你们的回复。前面的答案奏效了。这正是我想要代码做的。