我尝试将JSON文件中的值从字符串更改为整数,问题是键是行号,所以我不能通过键名调用(因为它们会不断更改)。需要更改的值在“sharesTraded”对象中。以下是我的JSON文件:
{
"lastDate": {
"30": "04/04/2022",
"31": "04/04/2022",
"40": "02/03/2022",
"45": "02/01/2022"
},
"transactionType": {
"30": "Automatic Sell",
"31": "Automatic Sell",
"40": "Automatic Sell",
"45": "Sell"
},
"sharesTraded": {
"30": "29,198",
"31": "105,901",
"40": "25,000",
"45": "1,986"
}
}
下面是我当前的代码:
import json
data = json.load(open("AAPL22_trades.json"))
dataa = data['sharesTraded']
dataa1 = dataa.values()
data1 = [s.replace(',', '') for s in dataa1]
data1 = [int(i) for i in data1]
open("AAPL22_trades.json", "w").write(
json.dumps(data1, indent=4))
但是,我需要用整数值来替换字符串值。相反,我的代码只是用整数替换整个JSON。我想结尾处还有一些我遗漏的东西,因为字符串已被更改为整数,但将其应用到JSON中却遗漏了。
1条答案
按热度按时间nbysray51#
这样做有两个问题:第一,由于只将值转换为列表,因此丢失了有关哪个键与值相关联的信息;第二,将该列表写回文件,也丢失了所有其他数据。
您可以使用修改后的值创建一个新字典,并将其重新赋给原始字典。