如何将前导空白行添加到 CSV?
How to add leading blank rows to a CSV?
我正在做一些 pre-processing,在使用 read.csv
导入 csv 后,我从 csv 中删除了两列,我需要在新的 csv 中导出处理后的数据。
原始 csv 在文件开头有 2 个空白行,我需要将其添加回新的 csv。
我通过跳过前三行(包括 headers)阅读了 csv,如下所示:
Bla <- read.csv("Bla.csv", skip = 3, header = TRUE)
完成处理步骤后,我写了一个csv如下:
write.csv(Bla, file = "Clean_Bla.csv", row.names = FALSE)
我希望新 csv 的前三行留空,就像在原始 cvs 中一样。我尝试使用 cat
,但这似乎不起作用。我想这是因为 cat
所做的是在 csv 的末尾附加空白行。
cat("\n", file='Clean_Bla.csv', append=TRUE)
感谢您的帮助!
这里是一个工作示例,你必须先将缺失值的 NA 放入数据框中,然后你必须告诉 R 为 NA 写“”
#data your dataframe before writing
data<-data.frame(Type=c("A","B","D","D","E","E"),
Ratio=c(5,6,3,3,4,4),
Number=c(65,74,43,34,23,12))
a<-rep(NA,dim(data)[2])
a<-rbind(a,a,a)
write.table(a, file = "Clean_Bla.csv", row.names = FALSE,na="",col.names=FALSE,sep=",")
write.table(data, file = "Clean_Bla.csv", row.names = FALSE,na="",append=TRUE,sep=",")
另一种方法是分别阅读这两行,并在完成后将其附加到您的 Clean_Bla
。这样,您不必实际指定前两行是什么。您只需直接从原始数据集中获取:
Bla_first3 = read.csv("Bla.csv", nrow = 2, header = TRUE)
Bla = read.csv("Bla.csv", skip = 3, header = TRUE)
# After cleaning
CleanBla = rbind(Bla_first3, Bla)
write.csv(CleanBla, file = "Clean_Bla.csv", row.names = FALSE)
请注意,这假设您的原始数据集与最终数据集具有相同的列
我正在做一些 pre-processing,在使用 read.csv
导入 csv 后,我从 csv 中删除了两列,我需要在新的 csv 中导出处理后的数据。
原始 csv 在文件开头有 2 个空白行,我需要将其添加回新的 csv。
我通过跳过前三行(包括 headers)阅读了 csv,如下所示:
Bla <- read.csv("Bla.csv", skip = 3, header = TRUE)
完成处理步骤后,我写了一个csv如下:
write.csv(Bla, file = "Clean_Bla.csv", row.names = FALSE)
我希望新 csv 的前三行留空,就像在原始 cvs 中一样。我尝试使用 cat
,但这似乎不起作用。我想这是因为 cat
所做的是在 csv 的末尾附加空白行。
cat("\n", file='Clean_Bla.csv', append=TRUE)
感谢您的帮助!
这里是一个工作示例,你必须先将缺失值的 NA 放入数据框中,然后你必须告诉 R 为 NA 写“”
#data your dataframe before writing
data<-data.frame(Type=c("A","B","D","D","E","E"),
Ratio=c(5,6,3,3,4,4),
Number=c(65,74,43,34,23,12))
a<-rep(NA,dim(data)[2])
a<-rbind(a,a,a)
write.table(a, file = "Clean_Bla.csv", row.names = FALSE,na="",col.names=FALSE,sep=",")
write.table(data, file = "Clean_Bla.csv", row.names = FALSE,na="",append=TRUE,sep=",")
另一种方法是分别阅读这两行,并在完成后将其附加到您的 Clean_Bla
。这样,您不必实际指定前两行是什么。您只需直接从原始数据集中获取:
Bla_first3 = read.csv("Bla.csv", nrow = 2, header = TRUE)
Bla = read.csv("Bla.csv", skip = 3, header = TRUE)
# After cleaning
CleanBla = rbind(Bla_first3, Bla)
write.csv(CleanBla, file = "Clean_Bla.csv", row.names = FALSE)
请注意,这假设您的原始数据集与最终数据集具有相同的列