在Python中遍历字典并去除空白字符
我正在使用一个叫做Scrapy的网页抓取框架,现在我想知道怎么遍历所有抓取到的项目,这些项目好像是放在一个字典里,我想把每个项目的空格去掉。
这是我在处理项目管道时写的代码:
for info in item:
info[info].lstrip()
但是这段代码不管用,因为我无法单独选择每个项目。所以我尝试了这样做:
for key, value item.items():
value[1].lstrip()
这个第二种方法在某种程度上是有效的,但问题是我不知道怎么遍历所有的值。
我知道这可能是个很简单的解决办法,但我就是找不到。
7 个回答
3
试试这个
for k,v in item.items():
item[k] = v.replace(' ', '')
或者按照monkut建议的更全面的方法:
newDic = {k,v.replace(' ','') for k,v in item.items()}
30
在字典推导式中(适用于Python 2.7及以上版本):
clean_d = { k:v.strip() for k, v in d.iteritems()}
Python 3.X:
clean_d = { k:v.strip() for k, v in d.items()}
2
这不是直接回答你问题的内容,但我建议你看看项目加载器(Item Loaders)和输入/输出处理器。这些工具可以帮助你处理很多数据清理的工作。
下面是一个示例,展示如何去掉每个条目中的多余内容:
class ItemLoader(ItemLoader):
default_output_processor = MapCompose(unicode.strip)