1. ホーム
  2. python

Pandas のデータフレームを csv 文字列に変換する

2023-10-30 16:27:40

質問

以下は、私が取得しようとしているものの例です。

私は持っています。

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

私の目標は

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

lazyとhorribleで実現できますね。

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

また to_string() メソッドは非常に有望に見えます。しかし、私が思いつく最高のものはこれです。

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

これは不要なファイルを作成しませんが、ずさんで、おそらくあまり信頼性がないように思われます。

もっと簡単な解決策を見逃しているのでしょうか?

どのように解決するのですか?

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

In [11]: import io

In [12]: s = io.StringIO()

In [13]: df.to_csv(s)

In [14]: s.getvalue()
Out[14]: ',A,B\n0,0,1\n1,1,6\n'