【发布时间】:2020-11-06 02:02:35
【问题描述】:
在我的脚本中,我正在将 csv 文件读入字典。
csvreader = csv.DictReader(csvfile, delimiter=';', quotechar='"')
CSV 结构是:
"Name";"type"
"Name1";"type1"
"Name2";"type2"
然后我循环遍历csvreader 对象并将这些行用作创建请求的参数。如果响应代码是 404,我想创建类似的字典 err_obj_dict,其结构类似 csv 阅读器,其中包含请求失败的行:
err_obj_dict = {'Name': [], 'type': []}
for row in csvreader:
if row['type'] == 'virtualResource':
objType = 'virtual'
else:
objType = row['type']
....
....
if resp_cd == 400:
err_obj_dict['Name'].append(row['Name'])
err_obj_dict['type'].append(objType)
然后我想通过err_obj_dict 类似的方式循环通过csvreader 并创建请求:
for row in err_obj_dict:
resp_cd = ''
if row['type'] == 'virtualResource':
objType = 'virtual'
else:
objType = row['type']
但是脚本给了我:
if row['type'] == 'virtualResource':
TypeError: string indices must be integers, not str
似乎 DictReader 正在创建具有不同结构的不同类型的字典。有人可以帮我创建类似字典的 ReadDict 或如何遍历 err_obj_dict 以获得与 csvreader 相同的结果吗?
【问题讨论】:
标签: python-2.7 csv dictionary