Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
310 views
in Technique[技术] by (71.8m points)

python - Convert Pandas dataframe to csv string

Here is an example of what I am trying to get:

I have:

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

My goal is:

',A,B
0,0,1
1,1,6
'

I can achieve this with lazy and horrible:

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

Also to_string() methods looks very promising; however, the best I can come up with is this:

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

This does not create an unnecessary file, but seems sloppy and perhaps not very reliable.

Am I missing a simpler solution?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The simplest way is just to not input any filename, in this case a string is returned:

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...