извлечение определенных данных из строки

Пока pd.set_option('display.max_columns', None) устанавливает количество отображаемых максимальных столбцов, опция pd.set_option('display.max_colwidth', -1) устанавливает максимальную ширину каждого отдельного поля.

В моих целях я написал небольшую вспомогательную функцию для полной печати огромных кадры данных, не влияя на остальную часть кода, он также переформатирует числа с плавающей запятой и устанавливает ширину виртуального дисплея. Вы можете принять его для своих случаев использования.

def print_full(x):
    pd.set_option('display.max_rows', len(x))
    pd.set_option('display.max_columns', None)
    pd.set_option('display.width', 2000)
    pd.set_option('display.float_format', '{:20,.2f}'.format)
    pd.set_option('display.max_colwidth', -1)
    print(x)
    pd.reset_option('display.max_rows')
    pd.reset_option('display.max_columns')
    pd.reset_option('display.width')
    pd.reset_option('display.float_format')
    pd.reset_option('display.max_colwidth')
0
задан Chandila07 5 March 2019 в 03:52
поделиться

1 ответ

Оформить заказ https://pythex.org/ и узнать, как использовать RegEx

Если вы введете свою строку в текстовый пример и используете (\ d. \ D. \ D . \ d / \ d \ d) в качестве шаблона он будет собирать каждый IP-адрес.

import re

ip_address = re.findall(r'(\d.\d.\d.\d/\d\d)', string)

print(ip_address)
>>> 1.1.1.1/32, 1.1.1.2/31

В качестве альтернативы, если ваши выходные данные всегда одинаковы, вы можете разбить строку на '\' и получить индекс каждого элемента.

пример:

feedback = "[hostname router\r\n!\r\ninterface Loopback0\r\n ip address 1.1.1.1/32\r\n no shutdown\r\n isis " \
              "enable 2222\r\n isis passive\r\n!\r\nvrf definition MGMT\r\n rd 200:200\r\n!\r\n!\r\nvrf definition" \
              " VRF_DDOS\r\n rd 2222:100\r\n description VRF_DDOS\r\n!\r\n!\r\n interface ethernet1/1\r\n no sflow " \
              "enable\r\n ip address 1.1.1.2/31\r\n no shutdown\r\n isis enable 2222\r\n isis passive\r\n!\r\nvrf " \
              "definition MGMT\r\n rd 200:200\r\n!\r\n!\r\nvrf definition VRF_DDOS\r\n rd 2222:100\r\n description " \
              "VRF_DDOS\r\n!\r\n!\r\n ]".replace('\r\n','').split(' ')

print(feedback[2:6])

output >>> ['Loopback0', 'ip', 'address', '1.1.1.1/32']
0
ответ дан Ari Victor 5 March 2019 в 03:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: