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

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

这会导致稍后当我尝试将 csv 文件加载到 SQL 数据库时出现问题,因为某些列包含包含“,”的字符串。如果我在上面的代码中设置了 quote = TRUE,当我加载到数据库时,它会给我的数字数据类型带来问题。

我的问题:有没有办法控制 R 在编写 csv 文件时向列添加引号的方式?我希望能够在字符串周围添加引号,但不能在其他数据类型中添加引号。

非常感谢您的帮助。

最佳答案

指定要像这样引用的列

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 )

关于r - 编写 R .csv 文件时如何控制双引号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20218729/

10-17 01:29