我想将一些行从Pandas DataFrame导出到JSON。 但是,导出列时出现错误:
TypeError: False is not JSON serializable
或
TypeError: 0 is not JSON serializable
我查看了我的数据,问题出现在numpy.int64
和numpy.bool_
(numpy.float64
工作正常)。
例如,出现以下问题:
import pandas as pd
import simplejson as json
df = pd.DataFrame([[False,0],[True,1]], columns=['a','b'])
json.dumps(df.ix[0].to_dict())
(同样的事情发生在dict(df.ix[0])
)。
将Pandas系列导出为JSON是否有简单的解决方法?
或者至少是一个将任何numpy类型强制转换为与JSON兼容的最近类型的函数?
答案 0 :(得分:7)
DataFrame有一种将自身导出到json
字符串的方法:
>>> df.to_json()
'{"a":{"0":false,"1":true},"b":{"0":0,"1":1}}'
您也可以将其直接导出到文件中:
>>> df.to_json(filename)