使用python基于空白分割一行

时间:2017-06-29 06:13:11

标签: python-3.4

我是python的初学者。下面是一个文本文件。如果我们看到(pitiara,Ram1),什么都没有。我想在那边添加0以及它是空白的所有地方。我想通过添加0来使所有数字成为三位数。任何人都可以告诉我如何编写脚本。这对我很有帮助。

Name       Rom1        Ram1        Ram2       Rom2       Rom3

Prakash    156          79          26                    89

Amu         57         380         129        666        

Pitiara    289                      96                    89

Nagna       72          79         326         52         96

1 个答案:

答案 0 :(得分:0)

假设一个空值只是一个空格,下面的脚本应该可以工作。

lines=[line.rstrip('\n') for line in open('test.txt')]
b=[];
c=[];
for l in lines:
    t=l.split(" ")
    print(t)
    c=[];
    for a in t:
        if (a.isdigit()):
            a=a.zfill(3)         
        elif (a=='' or a==' '):
            a='000';
        c.append(a)
    b.append(c)

然后,您可以将列表b写回文本文件。我建议将其保存为CSV以备将来使用,并建议不要使用三位数,因为它不会用于任何目的。

行包含文本的全部内容。 Rstrips EOL角色。每行都存储为列表。 l是行列表中的单独行。 a是由单个空格分隔的每个单独的“单词”。 zfill填充任何字符串,其中0作为前缀以匹配长度。