Blazeエラーでjson.dumpsを使用しようとしたときに、TypeError:objectがJSONシリアライズ可能でないというエラーが発生しました。blazeデータオブジェクトをjsonに変換するには?
data = Data("employee.json")
json.dumps(data)
Blazeエラーでjson.dumpsを使用しようとしたときに、TypeError:objectがJSONシリアライズ可能でないというエラーが発生しました。blazeデータオブジェクトをjsonに変換するには?
data = Data("employee.json")
json.dumps(data)
これをJSONに直接変換することはできません。次のように
代替方法がある:
fields = [] # Create an empty list to hold the field names
for fieldName in data.fields: # Iterate the field names
fields.append(fieldName) # Add to the list
result = []
for row in data: # Iterate each row
currentRow = {}
count = 0
for value in row:
currentRow[fields[count]] = value # Add each value with corresponding key from fields
count = count + 1
result.append(currentRow)
print(json.dumps(result))
それは、ブレイズデータオブジェクトだからです。独自の関数とオブジェクトを持つオブジェクトは、完全にjsonにエンコードすることはできません。読む:How to make a class JSON serializable
あなただけの変数情報がpprint
機能を使う見たい場合。
JSONファイルのインタラクティブな表示を希望する場合は、その名前を評価するだけです。 print data.__repr__()
from blaze import Data
from blaze.utils import example
data = Data(example('accounts.json'))
data
# amount name
# 0 100 Alice
# 1 -200 Bob
# 2 300 Charlie
# 3 400 Dennis
# 4 -500 Edith