Convertir el dataframe Pandas a la cadena CSV

Aquí hay un ejemplo de lo que estoy tratando de obtener:

Yo tengo:

import pandas as pd df = pd.DataFrame({'A' : [0, 1], 'B' : [1, 6]}) 

Mi meta es:

 ',A,B\n0,0,1\n1,1,6\n' 

Puedo lograr esto con perezoso y horrible:

 df.to_csv('temp.csv') # create unnecessary file body = open('temp.csv').read() 

También los métodos to_string() parecen muy prometedores; Sin embargo, lo mejor que se me ocurre es esto:

 body = df.to_string()[1:].replace(' ', ',') + '\n' 

Esto no crea un archivo innecesario, pero parece descuidado y quizás no muy confiable.

¿Me falta una solución más simple?

 In [10]: df = pd.DataFrame({'A' : [0, 1], 'B' : [1, 6]}) In [11]: import StringIO In [12]: s = StringIO.StringIO() In [13]: df.to_csv(s) In [14]: s.getvalue() Out[14]: ',A,B\n0,0,1\n1,1,6\n' 

La forma más sencilla es no ingresar ningún nombre de archivo, en este caso se devuelve una cadena:

 >>> df = pd.DataFrame({'A' : [0, 1], 'B' : [1, 6]}) >>> df.to_csv() ',A,B\n0,0,1\n1,1,6\n'