2017-02-24 11 views
1

私はPythonスクリプトの出力としてJSon形式を持っており、JSonをファイルに書きたいと思います。Python:ファイルへのJSON出力

私は、次のエラー持っ

df_json.to_json(orient='records') 

with open('JSONData.json', 'w') as f: 
    json.dump(df_json, f) 

を使用します。私は私が間違っているのかわからない

raise TypeError(repr(o) + " is not JSON serializable") 

[1746 rows x 2 columns] is not JSON serializable 

を。

次のように私のJSON出力は次のとおりです。

[ 
    { 
    "id": 1, 
    "results": [ 
     1, 
     2, 
     3 

    ] 
    }, 
    { 
    "id": 558599, 
    "results": [ 
     4, 
     5, 
     6 
    ] 
    } 
] 

は、事前にありがとうございます。

答えて

2

あなたはdf_json.to_json(orient='records')に電話していますが、結果は使用しません。オブジェクトはjsonisableオブジェクトに自身を変更するつもりはありません。

なり、元のオブジェクトは明らかに動作しませんシリアライズ(またはそこto_jsonそれに対するメソッドではないでしょう)

文字列がすでにjsonあるので、あなたもjsonモジュールを必要としない(またはjson )あなたが欲しいものではありませんこれは、再び文字列をシリアル化しよう:ちょうど行います

f.write(df_json.to_json(orient='records')) 
+0

は、あなたの答えをありがとう、私はこれを使用しているが、私は前に、すべてのスラッシュ(\)といくつかの奇妙な出力を得ます二重引用符( ") – Amy21

+0

私のファイルの出力は ' "[ { \" のID \ ":[ 1、 2、 ] 結果\ "1、 \"}]" 私は間違っていた、' – Amy21

+0

ソーリー早くそれはそれより簡単です。私の答えを編集しました... –

関連する問題