Мне нужно обработать файл журнала squid, где каждая строка представляет собой веб-запрос. Файл представляет собой пробел, как любой обычный файл журнала, но также имеет заголовки запросов в последнем столбце. Например,Как читать файл журнала squid с двумя форматами в строке в python
1445210282000 - - - - CONNECT service.gc.apple.com:443 1.1 200 - Host:%20service.gc.apple.com%0D%0AUser-Agent:%20gamed/5.10.19.4.7.16.5.4.2%20(iPhone7,2;%209.0.2;%2013A452;%20GameKit-363.4)%0D%0AConnection:%20keep-alive%0D%0AProxy-Connection:%20keep-alive%0D%0A
Как было показано выше в последнем столбце имеет различные заголовки запроса в заголовке: Формат значения с 20%,% 0A и другие символы. Мне нужно извлечь каждый заголовок в отдельный столбец для каждой строки, как и другие столбцы.
Что я сделал это:
with open(filename, 'rt') as squidlog:
for line in squidlog:
cols = line.split()
headers = cols[10].split('%0A')
Но я не уверен, как извлечь переменную headers
и иметь все составляющие заголовки, как хост, User-Agent, как только другой столбец в cols
(или некоторая лучшая структура данных, такая как dict, кортежи имен и т. д.).