item = {}
if 'firstname' not in item or 'lastname' not in item:
temp = item['name'].split()
item['firstname'] = temp[0]
item['lastname'] = ' '.join(temp[1:])
Нужно как-то сократить условие или сделать, чтобы оно было более читабельнее. Как это можно сделать?
lcd1232:
Пересохранение в том же дикте выглядит подозрительно, как-будто у тебя там помойка
Придумай схему в которой твои входящий итем не будет изменяться, а ты будешь из него извлекать все в свою структуру дикт или named tuple и уже с гарантированно нормальными даннми работать внутри
def process_item(self, item, spider):
result = {}
if item.get('firstname') and item.get('lastname'):
result['firstname'], result['lastname'] = item['firstname'], item['lastname']
# .....
return result