Python将txt转换为CSV

时间:2018-02-06 21:01:29

标签: python linux csv

我目前要在txt文件中输出如下所示:

switch1#show interfaces counters errors | in 1/0/22
Gi1/0/14            0          36           0          13          0            9 
switch2#show interfaces counters errors | in 1/0/22
Gi1/0/22            0          40           0          35          0            9 
switch3#show interfaces counters errors | in 1/0/22
Gi1/0/25            0          20           0          38          0            9 

我想以某种方式将其转换为CSV,这样我就可以将它们全部列在一个带有自己列的表中。示例:

switch1      Gi1/0/14            0          36           0          13          0            9
switch2      Gi1/0/22            0          40           0          35          0            9
switch3      Gi1/0/25            0          20           0          38          0            9 

现在我使用Python生成该文本文件,但在python上知识非常浅薄。不知道我会怎么做。

感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

尝试下一步:

data = []
with open('/tmp/data.txt', 'rb') as fd:
    for line in fd:
        row = []
        if line.startswith('switch'):
            row.append(line[:7])
            line = next(fd)
            row.extend(line.split())
        data.append(row)

>>> print data
[
    ['switch1', 'Gi1/0/14', '0', '36', '0', '13', '0', '9'],
    ['switch2', 'Gi1/0/22', '0', '40', '0', '35', '0', '9'],
    ['switch3', 'Gi1/0/25', '0', '20', '0', '38', '0', '9']
]

将其表示为您应在csv模块中使用的csv