python报错string indices must be integers,怎么解决?
import json
import csv
f = open('flare.json')
data = json.load(f)
f.close()
f=csv.writer(open('flare.csv','wb+'))
for item in data:f.writerow([item['pk'], item['model']] + item['fields'].values()) 展开
python报错string indices must be integers解决如下:
在.py文件中写的data={"a":"123","b":"456"},data类型为dict
而在.py文件中通过data= arcpy.GetParameter(0) 获取在GP中传过来的参数{"a":"123","b":"456"},data类型为字符串。
所以在后续的.py中用到的data['a']就会报如上错误。
解决方法:
data= arcpy.GetParameter(0)
data=json.loads(data) //将字符串转成json格式,或 data=eval(data) //将字符串转成dict格式。
扩展资料:
程序错误是指在软件运行中因为程序本身有错误而造成的功能不正常、死机、数据丢失、非正常中断等现象。
系统程序错误是指系统程序本身有错误而造成的功能不正常、死机或中断等现象。有些系统程序错误会造成计算机安全隐患,此时叫做系统漏洞。
系统程序错误是指在系统软件运行中因为系统程序本身有错误而造成的功能不正常、死机、数据丢失、非正常中断等现象。
有些系统程序错误会造成计算机安全隐患,此时叫做系统漏洞。系统程序错误是程序错误的一种,相对于应用程序错误,系统程序错误造成影响要大得很多,系统程序错误有时会使整个计算机系统崩溃或报废。
参考资料来源:百度百科:系统程序错误
解决方法:
检查字典属性拼写
增加字典属性判断:
if ‘body’ in d.keys()
2020-01-11
少了s