2017-02-16 15 views

答えて

2

cPickleまたはpickleモジュールを使用できます。

まずシリアル化データフレーム:

>>> df 
    A B 
0 1 3 
1 2 4 
>>> df_bytes = cPickle.dumps(df) 

は何とかdf_bytesの内容を送信しますが、その後、デシリアライズ:彼らは、任意のコードを実行できるようにと

>>> df2 = cPickle.loads(df_bytes) 
>>> df2 
    A B 
0 1 3 
1 2 4 

これら二つのモジュールは、潜在的なセキュリティ上の問題を導入しませんデシリアライズ中。

df_string = df.to_json() 

し、その後、それを回復する:よりよい解決策は、JSON文字列にデータフレームを書くことになるようcsvなど

df_again = pandas.read_json(df_string) 

他のフォーマットに対応する機能がDataFrame.to_csv()pandas.read_csv()あり、また、ご利用いただけます。関連する機能の完全な一覧については、thisおよびthisを参照してください。

+0

パッケージを見つけることができませんでした。私はそれがsecure.Any他の提案ではないと読んで? –

+0

これら2つのモジュールは標準ライブラリにあります。したがって、追加のパッケージは必要ありません。単に 'import pickle'または' import cPickle'が行います。私は、より安全でなければならない文字列フォーマットとの変換方法を追加するために投稿を編集しました。 –

+0

ありがとうございます。私はピックルを試しました。それは働いています。セキュリティはそれほど大きな問題ではありません。今のところ、pickleを使うつもりです。後でジョーンズを試みます。 –

関連する問題