如何使用R语言cat函数向CSV文件添加指定行内容
R语言CSV文件前置添加自定义行解决方案
原有代码错误点
- 同时调用
sink()和write.csv()写入同一文件,会造成文件内容冲突、格式损坏 cat()无row.names(F)参数,该参数属于write.csv(),误用会导致运行报错- 你设置的
append=TRUE是往文件末尾追加内容,无法实现将信息放到文件前几行的需求
推荐实现方式
方案1:生成新文件时直接前置自定义内容
如果是首次生成name1.csv,直接按「先写自定义头部、再写表格数据」的顺序操作即可:
# 提前删除数据框不需要的第一列(按需调整) homework1 <- homework1[,-1] # 定义要放在前几行的内容,第一行姓名,第二行学号,可自行增减行数 custom_header <- c( "Ibra", "填写你的学号" ) # 第一步:写入自定义头部内容 cat(custom_header, file = "name1.csv", sep = "\n") # 第二步:追加写入表格数据,关闭行号、关闭重复写入列名 write.csv(homework1, file = "name1.csv", append = TRUE, row.names = FALSE, col.names = FALSE)
方案2:给已有CSV文件前置添加内容
如果name1.csv已经存在,需要在现有内容前加自定义行:
# 读取原有文件全部内容 old_file <- readLines("name1.csv") # 定义要新增的前置内容 custom_header <- c( "Ibra", "填写你的学号" ) # 合并内容,自定义行在前,原有内容在后 new_file <- c(custom_header, old_file) # 写回文件 writeLines(new_file, con = "name1.csv")
额外说明
如果自定义行内容包含逗号,需要用双引号包裹内容,避免破坏CSV的分隔格式。
内容的提问来源于stack exchange,提问作者ibra
相关产品推荐
相关产品推荐

