Python字典到JSON文件的转换问题

2024-10-02 00:22:19 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我一直在做一个项目,该项目对一个金融网站进行清理,并将变化最快的前5种股票保存在一个json文件中,以备日后使用。我的问题是格式不对

将其转换为JSON的函数:

def writeToJSON(num, short, name, price, change):
stocks = {}
numStock = {
    "Short" : short,
    "Name" : name,
    "Price" : price,
    "Change" : change
    }


stocks.update({str(num) : numStock,})
with open(".\\sstocksim\\stocks.json", "a") as f:
    json.dump(stocks, f, indent=3)
    f.close()

JSON输出:

 {
   "1": {
      "Short": "AXSM",
      "Name": "Axsome Therapeutics, Inc.",
      "Price": "81.64",
      "Change": "+34.85"
   }
}{
   "2": {
      "Short": "TSLA",
      "Name": "Tesla, Inc.",
      "Price": "381.44",
      "Change": "+23.05"
   }
}{
   "3": {
      "Short": "CGX.TO",
      "Name": "Cineplex Inc.",
      "Price": "33.83",
      "Change": "+9.82"
   }
}{
   "4": {
      "Short": "MIRM",
      "Name": "Mirum Pharmaceuticals, Inc.",
      "Price": "17.17",
      "Change": "+8.98"
   }
}{
   "5": {
      "Short": "AMGN",
      "Name": "Amgen Inc.",
      "Price": "244.51",
      "Change": "+7.77"
   }
}

出于某种原因,它在每次输入后都会放一个EOF,我不知道如何阻止它这样做。 提前谢谢

编辑:

您可能知道它的外观,但以防万一,这就是我想要的输出:

{
   "1": {
      "Short": "AXSM",
      "Name": "Axsome Therapeutics, Inc.",
      "Price": "81.64",
      "Change": "+34.85"
   },

   "2": {
      "Short": "TSLA",
      "Name": "Tesla, Inc.",
      "Price": "381.44",
      "Change": "+23.05"
   },

   "3": {
      "Short": "CGX.TO",
      "Name": "Cineplex Inc.",
      "Price": "33.83",
      "Change": "+9.82"
   },

   "4": {
      "Short": "MIRM",
      "Name": "Mirum Pharmaceuticals, Inc.",
      "Price": "17.17",
      "Change": "+8.98"
   },

   "5": {
      "Short": "AMGN",
      "Name": "Amgen Inc.",
      "Price": "244.51",
      "Change": "+7.77"
   }
}

Tags: 项目namejsonchangepricenumincshort
1条回答
网友
1楼 · 发布于 2024-10-02 00:22:19

numStock一次写入文件;也就是说,在编写文件时,stocks包含一个项目,即当前的numStock

相反,创建一个包含所有numStock项的stocks字典,然后将其写入文件

相关问题 更多 >

    热门问题