Соответствующие строки списка списков и экспорт их в Excel - PullRequest
0 голосов
/ 02 января 2019

У меня есть список списков, и я хочу сопоставить элементы каждого списка по строке «Имя» и «Адрес», и я хочу экспортировать соответствующие элементы в Excel

['Server:  Corp', 'Address:  10.17.2.5\r', '\r', 'Name:    b.resolvers.level3.net\r', 'Address:  4.2.2.2\r', '\r', ''],
['Server:  Corp', 'Address:  10.17.2.5\r', '\r', 'Name:    google-public-dns-a.google.com\r', 'Address:  8.8.8.8\r', '\r', ''],
['Server:  Corp', 'Address:  10.17.2.5\r', '\r', 'Name:    dns.quad9.net\r', 'Address:  9.9.9.9\r', '\r', '']


import re
m = re.search(r'\bName\b'| \bAddress\b', line)
for line in output:
        if m:
            print(m.group())

Что я хочунаписать:

b.resolvers.level3.net , 4.2.2.2
google-public-dns-a.google.com , 8.8.8.8
dns.quad9.net , 9.9.9.9

1 Ответ

0 голосов
/ 02 января 2019

Попробуйте,

lists=[['Server:  Corp', 'Address:  10.17.2.5\r', '\r', 'Name:    b.resolvers.level3.net\r', 'Address:  4.2.2.2\r', '\r', ''],['Server:  Corp', 'Address:  10.17.2.5\r', '\r', 'Name:    google-public-dns-a.google.com\r', 'Address:  8.8.8.8\r', '\r', ''],
['Server:  Corp', 'Address:  10.17.2.5\r', '\r', 'Name:    dns.quad9.net\r', 'Address:  9.9.9.9\r', '\r', '']]

list2=[]
for singleList in lists:
    list1=[]
    flag=0    

    for item in singleList:
        matcher=re.search('Name:(.*)', item)
        if matcher:
            list1.append(matcher.group(1).strip())
            print(matcher.group(1).strip())
            flag=1

        if flag==1:
            matcher=re.search('Address:(.*)', item)
            if matcher:
                list1.append(matcher.group(1).strip())
                print(matcher.group(1).strip())

    list2.append(list1)

import xlwt
from tempfile import TemporaryFile
book = xlwt.Workbook()
sheet1 = book.add_sheet('sheet1')


for j,a in enumerate(list2):
    for i,e in enumerate(a):
        sheet1.write(j,i,e)

name = "random.xls"
book.save(name)
book.save(TemporaryFile())

lists будет списком списков. Список 2 содержит

[['b.resolvers.level3.net', '4.2.2.2'], ['google-public-dns-a.google.com', '8.8.8.8'], ['dns.quad9.net', '9.9.9.9']], который можно экспортировать в Excel или CSV

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...