Начиная со своего списка, а не со строки, вы можете сделать это, используя itetools.groupby :
from itertools import groupby
row = ['1','2','3',' ','4','5','6',' ','7','8','9',' ']
out = [list(group) for key, group in groupby(row, lambda x: x != ' ') if key]
print(out)
# [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]
Мы группируем значения в зависимости от того, являются ли они пробелами, иоставляйте только те группы, которые не состоят из пробелов.