【发布时间】:2021-12-03 12:42:16
【问题描述】:
我正在尝试使用 write_csv 覆盖 csv 文件。这工作正常,直到我尝试覆盖我事先在 R 中导入的文件。例如,运行
dummy_df <- read_csv("dummy_data.csv")
dummy_df_2 <- dummy_df %>%
mutate(ones = 1)
write_csv(dummy_df_2, "dummy_data.csv")
将返回此错误:
Error: Cannot open file for writing:
* 'D:\dummy_name_of_project_directory\dummy_data.csv'
(请注意,如果您在同一个 R 会话中创建 dummy_data.csv 文件,则不会遇到此错误。我必须关闭 Rstudio 并再次打开它才能遇到错误)。未打开 csv。
在尝试保存 dummy_df_2 之前从环境中删除 dummy_df(使用 rm())并不能解决问题。
我认为我以前没有遇到过这个问题,所以我认为在 R 的最后一次更新期间发生了一些变化。我在 R 版本 4.1.1 和 Rstudio 版本 1.4.1717 上运行。
你知道如何规避这个错误吗?
谢谢!
【问题讨论】:
-
运行
getwd()... 你会得到什么?也许你需要先setwd() -
CSV 是否打开?
-
@Sotos,wd 是正确的。我收到的错误消息指定了正确的 wd。为了清楚起见,我在写我的问题时将其替换为“D.\wd\”。我将更改公式以使其更清晰。
-
您是否有权更改该文件?也许尝试以管理员身份运行 R
-
如果以管理员身份运行 R,这很有见地,但是您确实需要找到一个不涉及在超级用户上下文中运行的更好的解决方案:更改文件的所有权/权限。 (我建议在以管理员身份运行 R 之前这样做。)