R 将新行追加到现有csv文件中

R 将新行追加到现有csv文件中,r,R,我想在系统中的现有csv文件中添加新行。下面是一个MWE。首先,创建一个数据表并将其写入文件: date <- "2017-08-01" investPercent<- 20 expenses <- 20000 savings <- 30000 low <- 10 high <- 20 objective <-19000 data<-data.frame(date, investPercent, expenses, savings, low,

我想在系统中的现有csv文件中添加新行。下面是一个MWE。首先,创建一个数据表并将其写入文件:

date <- "2017-08-01"
investPercent<- 20
expenses <- 20000
savings <- 30000
low <- 10
high <- 20
objective <-19000


data<-data.frame(date, investPercent, expenses, savings, low, high, objective)

write.csv(data, file="./finances.csv", row.names = F)
现在执行相反的操作并从现有文件中读取,修改变量并尝试将修改后的datatable追加到现有文件中:

data<-read.csv("./finances.csv",stringsAsFactors = FALSE)

date <- Sys.Date()
investPercent<- 99
expenses <- 29999
savings <- 39999
low <- 19
high <- 29
objective <-19999

dataplus<- data.frame(date, investPercent, expenses, savings, low, high, objective)
write.csv(dataplus,  file="./finances.csv", append = T)
这不起作用,financials.csv文件被完全重写,而append选项似乎仅在文件为字符串时才起作用

如何将相同大小的数据表附加到现有的csv文件中? 无法使用write.csv追加。相反,您需要使用write.table并指定一些附加参数。以下内容将向csv文件追加一行新数据,省略追加的列标题。这意味着您只需要在第一次编写表时包含列标题;之后,数据应该在相同的标题下流入

write.table( dataplus,  
             file="./finances.csv", 
             append = T, 
             sep=',', 
             row.names=F, 
             col.names=F )

请注意,您实际上并没有修改从这里的文件中读入的任何内容。相反,您的代码会重建一个新的数据帧,然后将其附加到文件中。除非要修改CSV文件的现有行,否则无需读入数据。您可以继续按顺序附加到它以添加新行。