【发布时间】:2020-01-17 12:02:18
【问题描述】:
我正在下载一个大型 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。以前有人遇到过这个问题吗?将不胜感激任何可以提供的帮助。非常感谢。
【问题讨论】: