删除文件行数据中的空格

时间:2017-09-14 18:08:53

标签: python

我正在尝试从文件中获取数据,但数据未正确,因为没有。不同地方的空间不同。

Ex:文件包含以下给定数据。这里每个单词都有多个空格(注意这不是字符串,它是文件数据,我使用readlines()

08:30:34  Lane   2  Typ   1  Prt  1  Tid     2  Amt       4.99  Mode   0  Tndr   1  Oper       130  Tran        74  ID  53062261  Log Dt 2014/08/05  Log Tm 08:30:34  LaneType 1  HasPrinter 1 

我想要这样的输出:

08:30:34 Lane 2 Typ 1 Prt 1 Tid 2 Amt 4.99 Mode 0 Tndr 1 Oper 130 Tran 74 ID 53062261 Log Dt 2014/08/05 Log Tm 08:30:34 LaneType 1 HasPrinter 1.

由于

2 个答案:

答案 0 :(得分:2)

你可以使用正则表达式:

>>> s="08:30:34  Lane   2  Typ   1  Prt  1  Tid     2  Amt       4.99  Mode   0  Tndr   1  Oper       130  Tran        74  ID  53062261  Log Dt 2014/08/05  Log Tm 08:30:34  LaneType 1  HasPrinter 1  "
>>> import re
>>> re.sub(' +',' ',s)
'08:30:34 Lane 2 Typ 1 Prt 1 Tid 2 Amt 4.99 Mode 0 Tndr 1 Oper 130 Tran 74 ID 53062261 Log Dt 2014/08/05 Log Tm 08:30:34 LaneType 1 HasPrinter 1 '

所以,如果你想保留readlines()的列表:

>>> f = open('yourfile.txt','r')
>>> result=[re.sub(' +',' ',i) for i in f.readlines()]

答案 1 :(得分:1)

试试这个:

s = 'aaa bb    ccccc    d f    ggggg'
s = ' '.join(s.split())

如果您正在阅读包含readline()的文件:

with open('bar.txt', 'r') as f:
    while True:
        s = f.readline()
        s = ' '.join(s.split())
        if not s:
            break
        print(s)