Python中如何将JSON整数值转为字符串?代码报错求修正
修正JSON整数转字符串的Python代码错误
错误原因
你遇到的TypeError: string indices must be integers是因为循环逻辑里的变量名混淆,导致错误地把字符串当作字典来访问索引。你的代码中:
df = data['cotdata']获取的是列表,列表里的每个元素是字典- 第一个循环
for key in df里的key实际是列表中的字典对象 - 第二个循环
for value in key里的value实际是字典的键(字符串)
虽然逻辑看似可行,但变量名的误导容易引发后续问题,且如果cotdata列表中存在非字典元素会直接触发报错。
修正后的代码
import json # 读取JSON文件 with open("myjson.json", "r") as f: data = json.load(f) # 遍历cotdata列表中的每个字典 for item in data['cotdata']: # 遍历字典的每个键,将对应数值转为字符串 for key in item: item[key] = str(item[key]) # 保存修改后的JSON(按需使用) with open("updated_myjson.json", "w") as f: json.dump(data, f, indent=2)
代码说明
- 用
item指代列表中的字典元素,变量名更清晰,避免混淆 - 直接遍历字典的键,通过
item[key]访问对应值并转为字符串 - 新增保存处理后JSON的代码,方便直接使用修改后的文件
内容的提问来源于stack exchange,提问作者kie_codes
相关产品推荐
相关产品推荐

