I just wanted to send one final message out about this. My previous post technically works, but is quite slow with large files/strings. I've decided instead to do it exactly in the way that I was trying to avoid. So just to set the record straight, these are the functions I'm going to be using (the second two only so I can avoid a little extra thinking): ------- write.csv.str <- function(df, row.names=F) { filepath <- tempfile() f <- file(filepath, "w") write.csv(df, f, row.names=row.names) close(f) s <- readfile(filepath) s } read.csv.str <- function(s) { read.csv(text=s) } readfile <- function(filepath) { text <- readChar(filepath, file.info(filepath)$size) text } ------- Thanks for the help everyone. Cheers, Thomas On 03/12/2015 02:12 PM, John McKown wrote:> On Thu, Mar 12, 2015 at 12:15 PM, Thomas Nyberg <tomuxiong at gmail.com> wrote: >> Hello, >> >> I've found the following useful functionality: >> >>> s <- 'cola,colb\n1,2\n2,3\n' >>> read.csv(text=s) >> cola colb >> 1 1 2 >> 2 2 3 >> >> >> But I haven't found a similar option in write.csv. I.e. I would like to >> "write" a dataframe to a string. What would be the easiest way to go >> about such a thing? Right now I can only think of using a file as an >> intermediary, but that seems a bit silly. Thanks for any help. >> >> Cheers, >> Thomas Nyberg > > Perhaps something like: > > textConn=textConnection("textCSV",open='w'); > write.csv(file=textConn,s) > print(textCSV) > > >