【问题标题】:How to create a JSON with negative id in Python如何在 Python 中创建带有负 id 的 JSON
【发布时间】:2021-06-10 07:42:13
【问题描述】:

编辑:抱歉之前没有提供所有信息,现在我已经添加了

输出很简单,但我不知道如何达到它:

{
 example:
  {'-1': 'goo',
  '-2': 'foo',
  ...
  '-n': 'faa'}
}
 

这是我的df

    A          id
0   goo         -1
1   foo         -2
2   fee         -3
3   fii         -4
4   faa         -5

我试过了:

df.to_json("path")

但它给了我一个带有正值的 json

我怎样才能将他们的 id 反转为全部否定?

【问题讨论】:

  • 您可以在 json 文件中转储您想要的任何数据,我不确定您遇到的是哪个问题?另外,请向我们展示您已尝试采取哪些措施来解决此问题
  • 您的问题中缺少信息,您的目标是哪一个?获取自然数并转换为负数?将字典的内容转储到文件中?

标签: python json python-3.x


【解决方案1】:
df.set_index('id').to_json()

'{"A":{"-1":"goo","-2":"foo","-3":"fee","-4":"fii","-5":"faa"}}'

【讨论】:

    【解决方案2】:

    嗯,假设您将 json 作为 python 字典阅读:

    pos_dct = {'1': 'a', '2': 'b'}
    neg_dct = {}
    
    for key, val in dct.items():
        neg_dct [str(-1*int(key))] = val
    
    neg_dct 
    # Out[21]: {'-1': 'a', '-2': 'b'}
    

    现在恢复成 json

    【讨论】:

      【解决方案3】:
      {'-' + k: v for k, v in x.items()}
      

      其中x 是带有“正”键的原始字典。

      这是你的意思吗?

      编辑:或者如果字典 x 包含整数键:

      {k * -1: v for k, v in x.items()}
      

      转json:

      import json
      json.dumps({k * -1: v for k, v in x.items()}
      

      【讨论】:

      • 'k' 可能是一个字符串,所以你想修改它:> 在 json 中看起来他又在使用字符串了:>
      • 我包含了字符串和整数键的解决方案
      猜你喜欢
      • 2015-02-10
      • 1970-01-01
      • 1970-01-01
      • 2017-03-24
      • 2017-12-11
      • 2015-01-16
      • 1970-01-01
      • 2018-07-22
      • 2016-12-27
      相关资源
      最近更新 更多