Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.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中文件夹中的文件_R_Excel_Xlsx - Fatal编程技术网

如何删除';拒绝许可';R中文件夹中的文件

如何删除';拒绝许可';R中文件夹中的文件,r,excel,xlsx,R,Excel,Xlsx,我正在下载一个大的xlsx文件作为函数的一部分。在linux和mac中,此文件已使用file.remove()删除,但我在windows计算机中的权限被拒绝。下面是我函数的代码 download.file( 'http://mirtarbase.mbc.nctu.edu.tw/cache/download/7.0/miRTarBase_MTI.xlsx', 'miRTarBase.xlsx', mode = "wb") readxl::read_excel('miRTarBase.xlsx')

我正在下载一个大的xlsx文件作为函数的一部分。在linux和mac中,此文件已使用
file.remove()
删除,但我在windows计算机中的权限被拒绝。下面是我函数的代码

download.file(
'http://mirtarbase.mbc.nctu.edu.tw/cache/download/7.0/miRTarBase_MTI.xlsx',
'miRTarBase.xlsx', mode = "wb")
readxl::read_excel('miRTarBase.xlsx') -> miRTarBase
write.csv(miRTarBase, 'miRTarBase.csv')
read.csv('miRTarBase.csv', row.names = 1) -> miRTarBase
file.remove("miRTarBase.xlsx")
我在控制台中收到以下错误消息

Warning message:
In file.remove("miRTarBase.xlsx") :
 cannot remove file 'miRTarBase.xlsx', reason 'Permission denied'.
同样,此警告仅出现在windows中

此外,在检查文件本身的属性后,将取消选中“只读”属性

接下来,下面的代码工作得非常好,所以我认为问题也不在于文件夹

file.remove("miRTarBase.csv")
我认为问题在于windows中如何处理.xlsx文件

当我试图在Rstudio仍在运行的情况下删除.xlsx文件时,会收到一条文件正在使用警告消息。关闭R会话后,可以毫不费力地删除.xlsx文件


这让我很困惑,因为我不习惯使用windows。以前有人有过这个问题吗?如能提供任何帮助,我将不胜感激。非常感谢。

您是否尝试过在windows中保存为临时文件

tmp miRTarBase
write.csv(miRTarBase,“miRTarBase.csv”)
read.csv('miRTarBase.csv',row.names=1)->miRTarBase
文件删除(tmp)

在download.file()函数中找不到tmp参数。