在编写R.csv文件时如何控制双引号

mm5n2pyu  于 2023-09-28  发布在  其他
关注(0)|答案(1)|浏览(90)

我的情况是,我试图将一个由不同数据类型的列组成的 Dataframe 写入R中的csv文件。我用来写文件的代码是:

filename = file("equipment.csv")
write.csv(file = filename, x = equipment, quote = FALSE, row.names = FALSE )

当我稍后尝试将csv文件加载到SQL数据库中时,这会导致问题,因为某些列包含含有','的字符串。如果我在上面的代码中设置了quote = TRUE,当我加载到数据库时,它会给我的数值数据类型带来问题。
我的问题是:有没有办法控制R在写csv文件时给列加引号的方式?我希望能够在字符串周围添加引号,而不是其他数据类型。
非常感谢你的帮助。

6g8kf2rb

6g8kf2rb1#

指定要像这样用引号括住的列

write.csv(file = filename, x = equipment, quote = c(2,3), row.names = FALSE )

PS:如果你想自动计算出哪些列不需要处理,你可以这样做:

non_numerics<-adply(1:ncol(equipment),1,function(x)print(is.numeric(equipment[,x])))
quote_val<-as.numeric(array(non_numerics[which(!non_numerics$V1),1]))

filename = file("equipment.csv")
write.csv(file = filename, x = equipment, quote = quote_val, row.names = FALSE )

相关问题