将JSON/Python打印输出中的数据类型更改为整数,而不是字符串

将JSON/Python打印输出中的数据类型更改为整数,而不是字符串,python,json,api,Python,Json,Api,通常,我需要ID显示为整数而不是字符串。我相信有一个超级简单的方法可以做到这一点 我曾尝试循环代码,但最终我得到了我们的API无法识别的硬括号 import csv import json import requests import itertools from collections import OrderedDict json_dict = {} results = [] with open('activity_test.csv',encoding='utf-8-sig') as

通常,我需要ID显示为整数而不是字符串。我相信有一个超级简单的方法可以做到这一点

我曾尝试循环代码,但最终我得到了我们的API无法识别的硬括号

import csv
import json
import requests
import itertools
from collections import OrderedDict



json_dict = {}

results = []
with open('activity_test.csv',encoding='utf-8-sig') as f:
    for row in csv.DictReader(f):
        results.append(row)

json_dict["activity"] = results                             

json_data = print(json.dumps(json_dict,indent=4))
这是结果(但我需要ID不在引号中,也不是字符串):


您可以将字符串强制转换为int:

json_dict = {}

results = []
with open('activity_test.csv',encoding='utf-8-sig') as f:
    for row in csv.DictReader(f):
        row['id'] = int(row['id'])
        results.append(row)

json_dict["activity"] = results                             

如果您不确定数据的格式,可以捕获异常。

您可以尝试使用pandas打开CSV并使用DF.to_json()函数。请显示您的CSV文件的内容谢谢!你有没有可能知道如何完全放下硬支架?我只需要两套花括号。现在的输出是:{“activity”:[{“id”:186405,“广告商”:“迪士尼家庭娱乐”}]}
json_dict = {}

results = []
with open('activity_test.csv',encoding='utf-8-sig') as f:
    for row in csv.DictReader(f):
        row['id'] = int(row['id'])
        results.append(row)

json_dict["activity"] = results