gpt4 book ai didi

在 R 中重命名文件

转载 作者:行者123 更新时间:2023-12-01 13:22:17 25 4
gpt4 key购买 nike

我在从 R 重命名文件时遇到问题。

在我桌面上的文件夹中有 10 个文件:

račun 1.xlsx

racun 2.xlsx

...

racun 10.xlsx

我尝试了以下方法:

files <- list.files(path = "myfolder")
file.rename(files,
paste0("novi_", 1:10, ".xlsx"))

这是我得到的结果:

[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

我想这是因为 unicode 字符 č,但我不知道如何为此找到解决方案。

最佳答案

编辑 2:这里的解决方案是让 OP 更改控制面板中的区域设置,将格式设置为塞尔维亚语(拉丁语,塞尔维亚)。

编辑 1:查看评论:OP 在 Windows 机器上。这里的问题是 list.files()(可能还有 dir(),因为它们调用相同的 .Internal)正在将非 ASCII 文件名转换为 ASCII,但是 Windows期望 file.exists() 将 unicode 文件名发送给它,(可能还有 file.rename())

尝试:

file.rename(gsub("c", "č", files), paste0("novi_", seq_along(files, ".xlsx"))
# could work, but it didn't for `file.exists()`

原答案:

setwd(<your path>)
(files <- list.files())
# [1] "račun 1.xlsx" "račun 2.xlsx" "račun 3.xlsx" "račun 4.xlsx" "račun 5.xlsx [6] "račun 6.xlsx"
file.rename(files, paste0("novi_", seq_along(files, ".xlsx"))
# [1] TRUE TRUE TRUE TRUE TRUE TRUE

您在 list.files() 中指定了路径这一事实表明您不在正确的目录中

关于在 R 中重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49468688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com