【问题标题】:Replace name of key(dot) in a json file(Time series)替换 json 文件中键(点)的名称(时间序列)
【发布时间】:2022-01-18 16:22:22
【问题描述】:

我正在尝试在 MongoDB 数据库中导入一些时间序列数据,但不可能有 .在一个键名中我收到此错误消息:

无效文档:键 '1。 open' 不能包含 '.'

那么我该如何转换这个json文件:

({'2022-01-14': {'1. open': '171.3400',
   '2. high': '173.7800',
   '3. low': '171.0900',
   '4. close': '173.0700',
   '5. volume': '80440780'},
  '2022-01-13': {'1. open': '175.7800',
   '2. high': '176.6200',
   '3. low': '171.7900',
   '4. close': '172.1900',
   '5. volume': '84505760'},
   ...}

为了被 mongodb 接受,所以删除所有 .从键名如 1. open

【问题讨论】:

    标签: python json mongodb


    【解决方案1】:

    这似乎行得通。

    datadict = {'2022-01-14': {'1. open': '171.3400',
       '2. high': '173.7800',
       '3. low': '171.0900',
       '4. close': '173.0700',
       '5. volume': '80440780'},
      '2022-01-13': {'1. open': '175.7800',
       '2. high': '176.6200',
       '3. low': '171.7900',
       '4. close': '172.1900',
       '5. volume': '84505760'}
       }
    
    eval(str(datadict).replace('. ', ' '))
    
    {'2022-01-14': {'1 open': '171.3400',
      '2 high': '173.7800',
      '3 low': '171.0900',
      '4 close': '173.0700',
      '5 volume': '80440780'},
     '2022-01-13': {'1 open': '175.7800',
      '2 high': '176.6200',
      '3 low': '171.7900',
      '4 close': '172.1900',
      '5 volume': '84505760'}}
    

    【讨论】:

      猜你喜欢
      • 2011-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-15
      相关资源
      最近更新 更多