繁体   English   中英

从pandas dataframe转发json文件中的斜杠

[英]Forward slash in json file from pandas dataframe

我是json的新手,任何帮助都表示赞赏。 我正在尝试将数据帧转换为json文件。

import pandas as pd

df = pd.DataFrame({ 'A' : [1., 2.5],
                    'B' : ['img/blue.png', 'img/red.png']})
print df

输出是

    A             B
0  1.0  img/blue.png
1  2.5   img/red.png

我想制作一个如下所示的json文件:

'[1.0,"img/blue.png"],[2.5,"img/red.png"]'

但是,当我使用以下内容时

out = df.to_json(orient='values')[1:-1]
print out

我得到了这个

'[1.0,"img\\/blue.png"],[2.5,"img\\/red.png"]'

如何在json文件中正确打印正斜杠?

pandas使用引擎盖下的ujson库转换为json,它似乎逃脱了斜线 - 请参阅此处的问题。

作为一种解决方法,您可以使用python标准库json模块来转储数据 - 它不会像性能一样,但不会转义斜杠。

import json

json.dumps(df.values.tolist())
Out[248]: '[[1.0, "img/blue.png"], [2.5, "img/red.png"]]'

我不确定,但我相信你想要那些。 我认为正斜杠会破坏你的json并需要被转义。 您是否验证了添加的反斜杠是一个问题?

在您将pandas数据帧转换为json的部分中,如果您将使用loads ,它将转义\\ forward斜杠

out = df.to_json(orient='values')[1:-1]
print out

尝试

import json
print json.dumps(json.loads(out))

对于python 3:

import json
print(json.dumps(json.loads(out)))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM