如何在R上将数据帧转换为csv格式的字符串?

时间:2017-01-08 19:19:48

标签: r csv dataframe

我不想将csv写入文件,而是使用csv格式获取数据帧的字符串表示形式(通过网络发送)。

我正在使用R.NET,如果它有助于了解。

3 个答案:

答案 0 :(得分:6)

如果您不仅限于base个功能,则可以尝试readr::format_csv

library(readr)
format_csv(iris[1:2, 1:3])
# [1] "Sepal.Length,Sepal.Width,Petal.Length\n5.1,3.5,1.4\n4.9,3.0,1.4\n"

答案 1 :(得分:5)

如果您想要csv格式的单个字符串,则可以捕获write.csv的输出。

让我们以mtcars为例:

paste(capture.output(write.csv(mtcars)), collapse = "\n")

read.csv(text = ..., row.names = 1)读回R精细。您可以在write.csv中对行名称和其他属性的打印进行调整。

答案 2 :(得分:2)

可替换地:

write.csv(mtcars, textConnection("output", "w"), row.names=FALSE)

将在全局环境中创建变量output并将其存储在字符向量中。

你可以做到

paste0(output, collapse="\n")

使其成为一个大字符串,类似于Rich的答案(但paste0()略快一些)。