如何在write_delim输出中去除第一行日期后的逗号?
解决方法
要实现第一行仅保留日期(无末尾逗号)、后续行正常按逗号分隔的输出效果,不能直接用write_delim一次性处理整个数据框,因为它会统一应用分隔规则处理所有行。可以拆分数据后分两次写入文件:
- 单独写入第一行的日期值
提取数据框第一行的tmax列值,用cat函数写入文件,该函数不会自动添加分隔符。 - 追加写入剩余行的数据
从数据框第二行开始,继续用write_delim按原参数写入,设置append = TRUE将内容追加到已创建的文件中。
完整代码示例:
library(tidyverse) dt <- structure(list( tmax = c(1990101, 5.974, 6.15, 5.806, 5.694), tmin = c(NA, 0.5, 0.475, -0.083, 0.944) ), row.names = c(NA, -5L), class = c("tbl_df", "tbl", "data.frame")) # 写入第一行日期,无末尾逗号 cat(dt$tmax[1], file = "test_comma.txt") # 追加写入剩余行,保持原格式规则 write_delim( dt[-1, ], file = "test_comma.txt", delim = ",", append = TRUE, na = "", col_names = FALSE )
生成的test_comma.txt内容如下:
1990101 5.974,0.5 6.15,0.475 5.806,-0.083 5.694,0.944
完全符合第一行无末尾逗号的要求。
内容的提问来源于stack exchange,提问作者Lily Nature
相关产品推荐
相关产品推荐

