在一个名为'data'的字典中,我有一个带有键'meeting'的嵌套字典。下面是一些示例数据。
'meetings':[
{
u'StartDate':u'09/06/2016',
u'EndDate':u'12/13/2016',
u'InstructorName':u'Staff',
u'MeetingNumber':1,
u'Days':u'MoWeFr',
u'Times': u'8:30 AM - 10:00 AM',
u'TopicDescr':None,
u'Location':u'3302 MH'
}
],
我正在尝试遍历整个字典并编辑“位置”字符串,以便它只是构建键,在上面的情况下是'MH'所以所有涉及的是删除所有直到空间和空间。我没有,但不工作的代码如下。
for meetings in data['meetings']:
for location in meetings['Location']:
location = re.sub("[^a-zA-Z]+", "", location)
我认为这可能是一个范围问题,因为当我尝试打印该位置后,它仍会打印整个“位置”字符串,在上面的情况下将是“3302 MH”。
答案 0 :(得分:2)
问题是你实际上并没有更新字典。并且不需要内部循环:
for meetings in data['meetings']:
meetings['Location'] = re.sub("[^a-zA-Z]+", "", meetings['Location'])
如果Location
值的格式与您显示的格式一致,您也可以按空格分割并获取最后一项而不是正则表达式替换:
for meetings in data['meetings']:
meetings['Location'] = meetings['Location'].split()[-1]