[英]Python Dictionary to JSON file conversion problem
所以我一直在研究一个项目,该项目抓取金融网站并将前 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"
}
}
您每个numStock
写入一次文件; 也就是说,当您写入文件时, stocks
包含一个项目,即当前的numStock
。
相反,创建一个包含所有numStock
项目的stocks
字典,然后将其写入文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.