Python:当数据由两个空格分隔时忽略单个空格

时间:2017-08-05 00:47:09

标签: python parsing split

这里对Python很新。 我有这个文本文件,它显示这些人是分别在秋天,冬天,春天,夏天工作(用x标记)。

例如,Mary在秋季,冬季和春季工作,但夏季不工作。约翰一年四季都在工作。

Mary  x  x  x 
John  x  x  x  x 
Anne        x 
Drew

每个字段用两个空格分隔,最后是\n。所以我做的是

with open("testfile.txt") as inputFile :
    aline = inputFile.readline()
    while aline != "" :
        field = aline.rstrip().strip().split("  ")
        .....

我现在的问题是,对于安妮来说,对于' x'的每个空位,.split(" ")都会将该空位分开。因此,安妮被认为是夏天工作,而不是春天工作,因为这些地点适用于' x'被认为是分裂的一部分。

我怎么能以某种方式忽略'那些空间让安妮为春天工作?

1 个答案:

答案 0 :(得分:2)

用两个空格和一些其他符号替换每三个连续的空格,并应用拆分:

aline = aline.replace("   ", "  -")
# 'Anne  -  -  x '
aline.strip().split("  ") # strip() for removing the trailing white space
# ['Anne', '-', '-', 'x']