我正在尝试从文件中获取数据,但数据未正确,因为没有。不同地方的空间不同。
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.
由于
答案 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)