Простое решение, используя strip()
для удаления пробелов и split()
для разделения данных столбца:
>>> mylines
[' \n', ' \n', 'line1\n', ' \n', ' \n', 'column1 column2 column3 \n']
>>> def parser(lines):
... header=""
... data=[]
... for x in lines:
... line = x.strip()
... if line == "":
... continue
... if header == "":
... header=line
... else:
... data.append(line.split())
... return {"header":header,"data":data}
...
>>> parser(mylines)
{'header': 'line1', 'data': [['column1', 'column2', 'column3']]}
>>>