RStudio环境下使用writexl包生成的Excel文件如何定位
定位writexl生成的Excel文件的操作方法
问题根源
你当前的代码没有显式指定Excel的输出路径,按照writexl::write_xlsx()的默认逻辑:
- 未手动传入
path参数时,函数会自动把文件写入R的临时存储目录,而非系统Home主文件夹 - 你把函数调用的返回值赋值给了
tmp对象,R控制台不会主动打印生成文件的完整路径,因此会出现找不到文件的情况
最快定位已生成文件的方式
- 直接在R控制台运行
print(tmp):write_xlsx()的返回值就是已生成文件的完整绝对路径,打印输出后复制该路径到系统文件管理器地址栏,就能直接定位到对应Excel文件 - 可运行适配你系统的快捷命令,直接弹出文件所在文件夹:
- Windows系统:
shell.exec(normalizePath(tmp)) - MacOS系统:
system(paste0("open ", shQuote(normalizePath(tmp)))) - Linux系统:
system(paste0("xdg-open ", shQuote(normalizePath(tmp))))
- Windows系统:
注意:临时目录下生成的文件,会在当前R会话完全关闭后被系统自动清除,无法长期留存。
后续避免找不到文件的正确导出写法
使用write_xlsx()导出数据时,必须显式指定path参数,不要依赖默认的临时存储路径:
# 示例:将iris数据集导出为当前工作目录下的iris_data.xlsx write_xlsx( x = list(mysheet = iris), path = "./iris_data.xlsx" )
- 可随时运行
getwd()查看当前R进程的工作目录,确认文件生成的具体位置 - 如需将文件存到自定义位置,直接修改
path参数为对应绝对路径即可,例如"~/Documents/iris_data.xlsx"
内容的提问来源于stack exchange,提问作者RobertF
相关产品推荐
相关产品推荐

