在Python中将多行数据转换为一个表

时间:2016-02-23 15:26:11

标签: python parsing raspberry-pi iwconfig

我有一个来自脚本的输出文件,它解析iwlist扫描,如下所示:

Cell: 01 -
Address: XX:XX:XX:XX:XX
ESSID: "My Network Name"
Frequency: 2.412 GHz (Channel 2)
Quality: =XX/100
Signal Level: XX/100

Cell: 02 -
Address: 
ESSID: 
扫描出现的许多wlans等等等等。

我的问题是如何进一步解析这个列表,可能是一个新文件,在输出中给它一个表格视图(使用python)?

例如,

输出为:

Cell          Address             ESSID                   Frequency          Quality    Signal Level
01 -    XX:XX:XX:XX:XX:XX    "My Network Name"      2.417 GHz (Channel 2)     =XX/100     =XX/100

等扫描时其余的wlans,最好不重复标题。

1 个答案:

答案 0 :(得分:0)

例如,这可行。

iwlist = '''Cell: 01 -
Address: XX:XX:XX:XX:XX
ESSID: "My Network Name"
Frequency: 2.412 GHz (Channel 2)
Quality: =XX/100
Signal Level: XX/100

Cell: 02 -
Address:
ESSID:
'''

options = []
values = []

for line in iwlist.split('\n'):
    if not line.strip():
        continue
    line = line.split(':')
    options.append(line[0])
    values.append(':'.join(line[1:]))

for o in options:
    print('{:^20}'.format(o), end="")
print()

for v in values:
    print('{:^20}'.format(v), end="")
print()