> # 获取该目录下所有_rename.csv文件的文件名 > csv_files <- list.files(pattern = "_rename.csv") > > # 循环遍历每个csv文件 > for (file in csv_files) { + # 读取csv文件 + data <- read.csv(file) + + # 删除第一列 + data <- data[, -1] + + # 将修改后的数据重新写入文件 + write.csv(data, file, row.names = FALSE) + } Error in read.table(file = file, header = header, sep = sep, quote = quote, : duplicate 'row.names' are not allowed 修改一下代码
时间: 2024-03-03 19:52:00 浏览: 175
deny_rename_exe.rar_api hook_asmhook.cpp_hook_hook 文件
这段代码的问题在于在写入csv文件时,没有指定row.names参数,而默认情况下write.csv函数会将行名写入文件。由于我们删除了第一列,因此写入文件时可能会出现重复的行名,导致错误。
为了解决这个问题,我们需要在调用write.csv函数时将row.names参数设置为FALSE,以避免出现重复的行名。修改后的代码如下:
```
# 获取该目录下所有_rename.csv文件的文件名
csv_files <- list.files(pattern = "_rename.csv")
# 循环遍历每个csv文件
for (file in csv_files) {
# 读取csv文件
data <- read.csv(file)
# 删除第一列
data <- data[, -1]
# 将修改后的数据重新写入文件
write.csv(data, file, row.names = FALSE)
}
```
这样就可以成功地读取每个csv文件、删除第一列并将修改后的数据重新写入文件了,而且不会出现重复的行名错误。
阅读全文