正如标题所述,我想检查名称字段中是否有特定的字符集。如果名称字段包含字符,我想将其作为字符串写入一个新变量。
Master_Reports
包含一个JSON结构列表。我在下面附上了一个结构的一部分。
[{'directory': {'item': [{'last-modified': '2020-03-13 16:17:38',
'name': '0001628280-20-003532-index-headers.html',
'type': 'text.gif',
'size': ''},
{'last-modified': '2020-03-13 16:17:38',
'name': '0001628280-20-003532-index.html',
'type': 'text.gif',
'size': ''},
{'last-modified': '2020-03-13 16:17:38',
'name': 'wkhs-20191231_htm.xml',
'type': 'text.gif',
'size': '1315390'},
{'last-modified': '2020-03-13 16:17:38',
'name': 'wkhs-20191231_lab.xml',
'type': 'text.gif',
'size': '705817'},
{'last-modified': '2020-03-13 16:17:38',
'name': 'wkhs-20191231_pre.xml',
'type': 'text.gif',
'size': '469764'},
{'last-modified': '2020-03-13 16:17:38',
'name': 'wkhs-2019x10kxex1041xi.htm',
'type': 'text.gif',
'size': '117747'},
{'last-modified': '2020-03-13 16:17:38',
'name': 'wkhs-2019x10kxexx412de.htm',
'type': 'text.gif',
'size': '22977'},
{'last-modified': '2020-03-13 16:17:38',
'name': 'wkhs-2019x10xkxex1042s.htm',
'type': 'text.gif',
'size': '287964'},
{'last-modified': '2020-03-13 16:17:38',
'name': 'wkhs-2019x10xkxex211.htm',
'type': 'text.gif',
'size': '2275'},
{'last-modified': '2020-03-13 16:17:38',
'name': 'wkhs-2019x10xkxex231.htm',
'type': 'text.gif',
'size': '2523'}],
'name': '/Archives/edgar/data/1425287/000162828020003532',
'parent-dir': '/Archives/edgar/data/1425287'}}
以下是我访问JSON结构的代码:
for report in master_reports:
current_report = master_reports
for i in range(0,len(current_report['directory']['item'])):
if 'def' in current_report['directory']['item'][i]['name']:
file_def = current_report['directory']['item'][i]['name']
这给了我一个错误:TypeError: list indices must be integers or slices, not str
master_reports
是单个项目的列表:请注意左括号。因此,current_report[<string>]
无效。相反,尝试
current_report = master_reports[0]
由于def
不在任何名称中,因此您现在完全没有输出。
您正在使用for循环对master_reports进行迭代,其中单个对象作为报告。
获取current_report=master_reports
也提供current_report作为列表。
因此,尝试获取current_report['directory']
会出错,因为您尝试使用str值获取索引。
下面试试:
for report in master_reports:
for item in report['directory']['item']:
if 'def' in item['name']:
file_def = item['name']