To the list:

I have come up with something that's working fine. However, I'm fairly
new to Python, so I'd really appreciate any suggestions on how this
can be made more Pythonic.

Thanks,
Shawn






Okay, here's what I have come up with:


#! /usr/bin/python

import sys
import re

month 
={'JAN':1,'FEB':2,'MAR':3,'APR':4,'MAY':5,'JUN':6,'JUL':7,'AUG':8,'SEP':9,'OCT':10,'NOV':11,'DEC':12}
infile=file('TVA-0316','r')
outfile=file('tmp.out','w')

def formatDatePart(x):
        "take a number and transform it into a two-character string,
zero padded"
        x = str(x)
        while len(x) < 2:
                x = "0" + x
        return x

regex = re.compile(r",\d{2}/[A-Z]{3}/\d{4},")

for line in infile:
        matches = regex.findall(line)
        for someDate in matches:

                dayNum = formatDatePart(someDate[1:3])
                monthNum = formatDatePart(month[someDate[4:7]])
                yearNum = formatDatePart(someDate[8:12])

                newDate = ",%s-%s-%s," % (yearNum,monthNum,dayNum)
                line = line.replace(someDate, newDate)

        outfile.writelines(line)

infile.close
outfile.close
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to