Как отфильтровать элементы без значения для определенного поляPython

Программы на Python
Anonymous
Как отфильтровать элементы без значения для определенного поля

Сообщение Anonymous »

У меня есть список событий на Python. У меня проблема в том, что многие события не содержат event_data['pick']['blurb']. Как создать отфильтрованный список только с событиями, содержащими эти данные?
Текущий код показывает ошибку

Код: Выделить всё

    if event["event"]['pick']['blurb'] in events:
TypeError: 'NoneType' object is not subscriptable

Код: Выделить всё

with open(output_file, "w", newline="", encoding="utf-8") as file:
writer = csv.writer(file)
writer.writerow(["Event name", "Date", "Start Time", "End Time",
"Artists", "Images", "Image", "Blurb", "Venue"])

filtered = []
for event in events:
if event["event"]['pick']['blurb'] in events:
filtered.append(event)
# print(filtered)

for event in filtered:
event_data = event["event"]
writer.writerow([event_data['title'],
event_data['date'],
event_data['startTime'],
event_data['endTime'],
', '.join([artist['name'] for artist in event_data['artists']]),
', '.join([images['filename'] for images in event_data['images']]),
event_data['images'][0]['filename'],
**event_data['pick']['blurb'],**
event_data['venue']['name']])
Решение, которое я использовал: см. ниже в комментариях.
попробуйте:
кроме (TypeError, IndexError):
пройти

Подробнее здесь: https://stackoverflow.com/questions/790 ... tain-field

Вернуться в «Python»