以下是我想要获得的一个例子:
我有:
import pandas as pd
df = pd.DataFrame({'A' : [0, 1], 'B' : [1, 6]})
我的目标是:
',A,B\n0,0,1\n1,1,6\n'
我可以用懒惰和恐怖来实现这个目标:
df.to_csv('temp.csv') # create unnecessary file
body = open('temp.csv').read()
同样to_string()
方法看起来很有希望;但是,我能想到的最好的是:
body = df.to_string()[1:].replace(' ', ',') + '\n'
这不会创建一个不必要的文件,但似乎很草率,也许不太可靠。
我错过了一个更简单的解决方案吗?
答案 0 :(得分:61)
最简单的方法是不输入任何文件名,在这种情况下返回一个字符串:
>>> df = pd.DataFrame({'A' : [0, 1], 'B' : [1, 6]})
>>> df.to_csv()
',A,B\n0,0,1\n1,1,6\n'
答案 1 :(得分:35)
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'