繁体   English   中英

Python json.dumps 格式化

[英]Python json.dumps formatting

我在Parsing json.dumps - Python中尝试反向操作

我有一个数据框,其中行的格式为:

stopLoss  takeProfit   price    id
154.79     151.79      153.784  0

我想将 output 格式化为 JSON 格式

{
"trades" : [{
         "stopLoss": 154.79, 
        "takeProfit": 151.79, 
        "price": 153.784, 
         "id: :0
        }]

}

在行上使用 json.dumps 会产生 JSON,但“交易”之后的 [ ] 缺失。 如下图所示:

{
"trades" : {
         "stopLoss": 154.79, 
        "takeProfit": 151.79, 
        "price": 153.784, 
         "id: :0
        }

}

如何确保包含 [ ]?

它会准确转储您传入的结构。如果trades键的值是字典列表而不是单个字典,您将获得所需的 output。 但这与 JSON 无关; 它仅取决于您在json.dumps()的参数中拥有哪些数据。

如果您的代码看起来像

trades = csvreader.next()
j = {'trades': trades }
json.dumps(j)

那么你想更改为

j = {'trades': [trades]}

如果x是 Pandas dataframe 就像您描述的那样:

   stopLoss  takeProfit    price  id
0    154.79      151.79  153.784   0
1    254.79      151.79  153.784   1

你可以试试

json.dumps(x.to_dict(orient='records'))    

这让你几乎到了那里:

[{"stopLoss": 154.79, "takeProfit": 151.79, "price": 153.784, "id": 0},
 {"stopLoss": 254.79, "takeProfit": 151.79, "price": 153.784, "id": 1}]

要获得您需要的内容,只需创建一个字典:

json.dumps({ 'trades' : x.to_dict(orient='records') })

暂无
暂无

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

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