3

我想将一些行从 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 兼容的最接近类型的函数?

4

1 回答 1

7

DataFrame 有一个将自身导出为json字符串的方法:

>>> df.to_json()
'{"a":{"0":false,"1":true},"b":{"0":0,"1":1}}'

您也可以将其直接导出到文件:

>>> df.to_json(filename)
于 2013-09-03T18:40:45.987 回答