Столбцы выглядят с фиксированной шириной, в этом случае вы можете использовать нарезку строк с последующим возможным .strip()
для удаления конечных пробелов:
>>> for line in data.split('\n'):
... print (line[1:25].strip(), line[26:45].strip(), line[46:69].strip(), line[70:-1].strip())
...
('08-09-2010 21:21:46', '00:22:7f:a6:9b:69', '', '-79')
('08-09-2010 21:21:46', '04:4f:aa:b4:49:49', '', '-79')
('08-09-2010 21:21:46', '04:4f:aa:31:4e:59', 'tikona 18002090044', '-83')
('08-09-2010 21:21:46', '00:22:7f:26:9b:69', 'tikona 18002090044', '-74')
('08-09-2010 21:21:46', '04:4f:aa:34:0d:c9', 'tikona 18002090044', '-82')
('08-09-2010 21:21:46', '04:4f:aa:71:4e:59', '', '-85')
('08-09-2010 21:21:46', '04:4f:aa:34:21:89', 'tikona 18002090044', '-75')
('08-09-2010 21:21:46', '04:4f:aa:34:49:49', 'tikona 18002090044', '-77')
('08-09-2010 21:21:46', '04:4f:aa:74:0d:c9', '', '-85')
('08-09-2010 21:22:47', '18 APs were seen', '', '')
('', '', '', '')
('', '', '', '')
происходит от последней строки ввода, являющейся"
.
Если столбцы не фиксированной ширины, то вы все равно можете использовать .split()
и получить столбец последний , используя индекс -1
,Хотя вы должны использовать .split()
с осторожностью, так как это делается неправильно, когда все сделано "правильно".Я рекомендую использовать двойной пробел в качестве разделителя для обработки случая 18 APs were seen
, но учтите, что это меняет индекс для второго столбца.
>>> for line in data.split('\n'):
... fields = line.split(' ')
... print (fields[0], fields[3], fields[-1])
...
('"08-09-2010 21:21:46', '00:22:7f:a6:9b:69', ' -79"')
('"08-09-2010 21:21:46', '04:4f:aa:b4:49:49', ' -79"')
('"08-09-2010 21:21:46', '04:4f:aa:31:4e:59', '-83"')
('"08-09-2010 21:21:46', '00:22:7f:26:9b:69', '-74"')
('"08-09-2010 21:21:46', '04:4f:aa:34:0d:c9', '-82"')
('"08-09-2010 21:21:46', '04:4f:aa:71:4e:59', ' -85"')
('"08-09-2010 21:21:46', '04:4f:aa:34:21:89', '-75"')
('"08-09-2010 21:21:46', '04:4f:aa:34:49:49', '-77"')
('"08-09-2010 21:21:46', '04:4f:aa:74:0d:c9', ' -85"')
('"08-09-2010 21:22:47', '18 APs were seen', '18 APs were seen')
('"08-09-2010 21:21:46', '00:22:7f:26:9b:69', '-74"')
Traceback (most recent call last):
File "<input>", line 3, in <module>
IndexError: list index out of range
IndexError
связано с вашей последней строкой ввода,Вы должны поймать эту ошибку, если это реальный ввод.