You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用变量路径和文件名写入CSV文件的问题

解决R中write.csv生成文件找不到的问题

核心问题排查

你遇到的问题大概率是当前工作目录与你预期的不一致:

  • 你硬编码的路径是~/Documents/projects/farmCSV//data.csv,但getwd()返回的是/Users/myname/projects/farmCSV,这是两个不同的目录。
  • 你的代码确实生成了文件,但文件被写到了getwd()对应的目录(/Users/myname/projects/farmCSV),而你去~/Documents/projects/farmCSV找,自然找不到。

解决方案

方案1:确认并切换到正确的工作目录

先打印当前工作目录,确认是否和你要输出的目录一致:

print(getwd())

如果不一致,手动切换到目标目录:

setwd("~/Documents/projects/farmCSV")

然后再执行你的原有代码,文件就会生成在你预期的位置。

方案2:简化代码,直接使用相对路径

write.csv默认会将文件写入当前工作目录,无需手动拼接路径,直接使用用户输入的文件名即可:

# 读取文件名并去除前后可能的空格
varNewName <- trimws(readline(prompt = "Name the file :"))
# 直接写入当前工作目录
write.csv(dfTemp, file = varNewName, row.names = FALSE)

建议添加row.names = FALSE,避免输出文件自动添加无意义的行号列。

方案3:验证文件是否真的生成

如果还是不确定,可以用file.exists()检查文件是否存在:

varFileName <- paste0(getwd(), "/", varNewName)
write.csv(dfTemp, varFileName)
# 检查文件是否存在
print(file.exists(varFileName))

如果返回TRUE,直接打开这个路径查看文件:

# 打开文件所在目录
browseURL(dirname(varFileName))

内容的提问来源于stack exchange,提问作者DP-WA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 17:05:52