import csv
from dateutil.parser import parse
from datetime import datetime

def convert_date(csv_file, columnToConvert, format = "%Y-%m-%d %H:%M:%S"):
    # read CSV into a dictionary
    with open(csv_file) as f:
        csv_f = csv.reader(f)
        first = True
        rows_to_write = []
        for row in csv_f:
            if first:
                for column in row:
                    if column == columnToConvert:
                        columnToConvertIndex = row.index(column)
                first = False
                rowCopy = list(row)
                rows_to_write.append(rowCopy)
            else:
                rowCopy = list(row)
                if rowCopy[columnToConvertIndex] != "" and rowCopy[columnToConvertIndex] != "NULL":
                    print rowCopy[columnToConvertIndex]
                    date = parse(rowCopy[columnToConvertIndex])
                    if date:
                        rowCopy[columnToConvertIndex] = date.strftime(format)
                    else:
                        rowCopy[columnToConvertIndex] = 'NULL'
                else:
                    rowCopy[columnToConvertIndex] = 'NULL'
                rows_to_write.append(rowCopy)
    f.close()

    with open(csv_file, 'wb') as writecsvfile:
        writer = csv.writer(writecsvfile)
        writer.writerows(rows_to_write)
    writecsvfile.close()