在 Python 中将多行数据转置到一个表中



我有一个脚本的输出文件,该文件解析 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: 

等,用于扫描中显示的尽可能多的WLAN。

我的问题是我将如何进一步解析此列表,也许解析为一个新文件,以便在输出中为其提供表格视图(使用 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
等,用于

扫描中的其余 WLAN,最好不要重复标头。

例如,这将起作用。

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()

最新更新