Форум сайта python.su
Здравствуйте
У меня вопрос такого характера. С помощью библиотеки textfsm хотел выбрать данные из файла
+ Additional timeslot is required for management.
+ Additional timeslot is required for management. TS 01 TS 02 TS 03 TS 04 TS 05 TS 06 02:01 02:02 02:03 02:04 02:05 02:06 VOICE VOICE VOICE VOICE VOICE VOICE TS 07 TS 08 TS 09 TS 10 TS 11 TS 12 03:01 03:02 03:03 03:04 03:05 03:06 VOICE VOICE VOICE VOICE VOICE VOICE TS 13 TS 14 TS 15 TS 16 TS 17 TS 18 01:02TS05 01:02TS01 01:02TS02 ------- 01:02TS03 01:02TS04 VOICE VOICE VOICE DATA VOICE VOICE TS 19 TS 20 TS 21 TS 22 TS 23 TS 24 03:08 03:09 03:10 03:11 03:12 01:02TS09 VOICE VOICE VOICE VOICE VOICE DATA TS 25 TS 26 TS 27 TS 28 TS 29 TS 30 01:02TS10 01:02TS11 01:02TS12 01:02TS06 01:02TS07 01:02TS08 DATA DATA DATA VOICE VOICE VOICE TS 31 ------- MNG
# coding: utf-8 import sys import textfsm from tabulate import tabulate template = "shablonT130.template" output_file = "T130" f = open(template) output = open(output_file).read() re_table = textfsm.TextFSM(f) header = re_table.header result = re_table.ParseText(output) print(tabulate(result, headers=header))
TS CROSS_CONNECT --------- --------------- ['TS 01'] ['02:01'] ['TS 07'] ['03:01'] ['TS 13'] ['01:02TS05'] ['TS 19'] ['03:08'] ['TS 25'] ['01:02TS10'] ['TS 31'] ['-------']
Отредактировано ingfa_1981 (Янв. 14, 2019 13:08:34)
Офлайн
Неужели никто не может подсказать?
Офлайн
ingfa_1981https://github.com/google/textfsm/wiki/TextFSM
с помощью шаблона
Value List TS (TS\s\d\d)
Value List CROSS_CONNECT (\d\d:\d\dTS\d\d|-{7}|\d\d:\d\d)
Start
^\s+${TS}
^\s+${CROSS_CONNECT} -> Continue.Record
Офлайн
А какую библиотеку можно использовать?
Офлайн
Можно считать, что это csv файл. Для них должно быть много модулей.
Тогда, по крайней мере, нарезать на столбики “вручную” не придётся.
Офлайн