簡體   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