Как получить строки без None (убрать None, но сами строки сохранить)?

Дело в том чтобы я использовал бы IS NOT NULL но тут другая ситуация. Вот пример таблицы:

   column1      column2     col3  col4  col5    column6     col7  col8

('494783432', '4324206976', None, None, None, None, '4440898453', None)

('123487746', '1650205433', None, None, None, '1230898345', None, None)

('444487746', '1650202422', None, None, None, '5540898645', None, None)

('675487746', '1234206714', None, '5430898756', None, None, None, None)

('899887746', '2312206620', None, None, None, None, None, '4230898234')

('112287746', '1650212312', '7560898645', None, None, None, None, None)

Чтобы получить эти строки я использовал SELECT, но мне нужно получить эти данные без лишних None. В пайтоне они отображаются как None а в sqlite3 - NULL

Я хочу получить такой результат на примере первой строки:

('494783432', '4324206976', '4440898453')

Ответы (1 шт):

Автор решения: CrazyElf

На стороне питона это сделать довольно просто с помощью filter:

lst = [
('494783432', '4324206976', None, None, None, None, '4440898453', None),
('123487746', '1650205433', None, None, None, '1230898345', None, None),
('444487746', '1650202422', None, None, None, '5540898645', None, None),
('675487746', '1234206714', None, '5430898756', None, None, None, None),
('899887746', '2312206620', None, None, None, None, None, '4230898234'),
('112287746', '1650212312', '7560898645', None, None, None, None, None),
]

lst_ = [tuple(filter(None, item)) for item in lst]
print(*lst_, sep='\n')

Вывод:

('494783432', '4324206976', '4440898453')
('123487746', '1650205433', '1230898345')
('444487746', '1650202422', '5540898645')
('675487746', '1234206714', '5430898756')
('899887746', '2312206620', '4230898234')
('112287746', '1650212312', '7560898645')
→ Ссылка