Python 带有JSON列的数据帧:导出为JSON

Python 带有JSON列的数据帧:导出为JSON,python,json,pandas,to-json,Python,Json,Pandas,To Json,我得到了一个带有JSON格式列的Pandas数据帧,在将整个DF导出为JSON时,JSON列将被格式化为普通字符串: foo = pd.DataFrame({'a' : [1,2,3,4], 'b': ['a','b', 'c','d']}) foo['json'] = foo.apply(lambda x: x[['b']].to_json(), axis=1) OUTPUT: a b json 0 1 a {"b":"a"} 1 2 b {"b":"b"}

我得到了一个带有JSON格式列的Pandas数据帧,在将整个DF导出为JSON时,JSON列将被格式化为普通字符串:

foo = pd.DataFrame({'a' : [1,2,3,4], 'b': ['a','b', 'c','d']})

foo['json'] = foo.apply(lambda x: x[['b']].to_json(), axis=1)

OUTPUT:
   a  b       json
0  1  a  {"b":"a"}
1  2  b  {"b":"b"}
2  3  c  {"b":"c"}
3  4  d  {"b":"d"}

如果没有正斜杠,我如何导出它呢?

最简单的解决方案是将
应用到_dict()
,这是最自然的pandas方法,尽管我不确定这是否是最有效的方法

foo.to_json()


OUTPUT:

'{"a":{"0":1,"1":2,"2":3,"3":4},"b":{"0":"a","1":"b","2":"c","3":"d"},"json":{"0":{"b":"a"},"1":{"b":"b"},"2":{"b":"c"},"3":{"b":"d"}}}'

你为什么要在意那些割伤?他们只是逃避引用。您将如何处理
到_json
的输出?它们很可能不会引起任何问题输出将导出到MongoDB,我担心这不是一个干净的json输出:((感谢您的快速回答!)
foo.to_json()


OUTPUT:

'{"a":{"0":1,"1":2,"2":3,"3":4},"b":{"0":"a","1":"b","2":"c","3":"d"},"json":{"0":{"b":"a"},"1":{"b":"b"},"2":{"b":"c"},"3":{"b":"d"}}}'