Ваша проблема не указана, но я могу попытаться угадать. Учитывая «Шри-Ланку» в столбце C, вы не можете просто разбить на пробелы. И если вы аккуратно ввели его, вы не используете вкладки.
Таким образом, каждый столбец начинается в определенном положении в строке: столбец A [3:12], столбец B [12:28], столбец C - [28:]. В этом случае:
[line[29:] for line in data.splitlines()[1:]]
Другая возможность заключается в том, что вы хотите разделить на любом пробеге более 1 пространства, а не только на пространствах. В этом случае:
[filter(None, line.split(' '))[2] for line in data.splitlines()[1:]]
Как оказалось, ни один из этих предположений является правильным, потому что ваш фактический формат файла ... ничего подобного, что вы показали нам, а один из standard IIS log formats. Вы все еще не сказали, какой из них, но если предположить, что это один из форматов W3C/NCSA/Common, это точно так же, как разбор любого журнала веб-сервера.
Существует несколько модулей Python, предназначенных для этого, включая apachelog
и pylogsparser
, но лучше всего, чтобы найти себя и посмотреть, что там есть.
Вам нужно использовать Python? Это тривиально с утилитами оболочки. – squiguy
да, я хочу сделать это с помощью python? –
Я смущен ... Где используется функция «Найти»? Кроме того, можете ли вы более подробно рассказать о том, что принадлежит столбцам A, B и C? – SethMMorton