在Python中遍历字典并去除空白字符

7 投票
7 回答
26464 浏览
提问于 2025-04-17 10:30

我正在使用一个叫做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)

撰写回答