converting pipe delimited file to fixed width

digz Digvijoy.C at gmail.com
Thu Mar 19 16:51:15 CET 2009


Hi,
I am trying to convert a | delimited  file to fixed width by right
padding with spaces, Here is how I have written the program , just get
the feeling this can be done in a much better ( python functional )
way rather than the procedural code i have below . Any help
appreciated

#!/usr/bin/python
def rightFill(fillString, toLength, fillChar):
    return fillString+''.join([fillChar for x in range(len
(fillString),toLength)])

fieldWidth=[ 14, 6, 18, 21, 21,4, 6  ];

file = open("/home/chatdi/input.csv", "r");
lines = file.readlines()
file.close()

out = open( "/home/chatdi/ouptut.csv", 'w')
for line in lines:
    line = line[:-1]
    index = 0
    for token in line.split('|'):
        paddedToken = rightFill(token, fieldWidth[index], ' ' )
        out.write( paddedToken )
        index = index + 1
    out.write("\n")



More information about the Python-list mailing list