Как привести 2 типа дат в один?

Есть список -

a = ['2020-09-06 15:52:02','','05.08.2020 9:03:13','','','2020-12-06 17:52:02','2020-01-06 18:52:02','2020-10-06 12:52:02','05.09.2020 13:04:13','05.03.2020 19:03:13','','','2020-07-06 22:52:02','05.12.2020 19:03:13','','05.01.2020 16:03:13','2020-03-06 1:52:02','05.09.2020 3:03:13','05.09.2020 13:03:13','','','','','05.09.2020 4:03:13','2020-09-06 23:52:02''','']

В списке a  есть два типа дат. Это 2020-09-05 15:52:02 и 05.09.2020 15:52:02. Так же в нем есть пустые элементы. Надо все даты привести к этому типу (31.08.2020 23:06:51).

Результат должен быть таким -

a = ['06.09.2020 15:52:02','','05.08.2020 9:03:13','','','06.12.2020 17:52:02','06.01.2020 18:52:02','06.10.2020 12:52:02','05.09.2020 13:04:13','05.03.2020 19:03:13','','','06.07.2020 22:52:02','05.12.2020 19:03:13','','05.01.2020 16:03:13','06.03.2020 1:52:02','05.09.2020 3:03:13','05.09.2020 13:03:13','','','','','05.09.2020 4:03:13','06.09.2020 23:52:02''','']

Ответы (2 шт):

Автор решения: entithat
from datetime import datetime

def conv(date):
    try:
        return datetime.strptime(date, '%Y-%m-%d %H:%M:%S').strftime('%d.%m.%Y %H:%M:%S')
    except ValueError:
        return date

a = ['2020-09-06 15:52:02','','05.08.2020 9:03:13','','','2020-12-06 17:52:02','2020-01-06 18:52:02','2020-10-06 12:52:02','05.09.2020 13:04:13','05.03.2020 19:03:13','','','2020-07-06 22:52:02','05.12.2020 19:03:13','','05.01.2020 16:03:13','2020-03-06 1:52:02','05.09.2020 3:03:13','05.09.2020 13:03:13','','','','','05.09.2020 4:03:13','2020-09-06 23:52:02''','']
print(list(map(conv,  a))) 

# ['06.09.2020 15:52:02', '', '05.08.2020 09:03:13', '', '', '06.12.2020 17:52:02', '06.01.2020 18:52:02', '06.10.2020 12:52:02', '05.09.2020 13:04:13', '05.03.2020 19:03:13', '', '', '06.07.2020 22:52:02', '05.12.2020 19:03:13', '', '05.01.2020 16:03:13', '06.03.2020 01:52:02', '05.09.2020 03:03:13', '05.09.2020 13:03:13', '', '', '', '', '05.09.2020 04:03:13', '06.09.2020 23:52:02', '']
→ Ссылка
Автор решения: strawdog

Используйте pandas:

import pandas as pd
a = ['2020-09-06 15:52:02','','05.08.2020 9:03:13','','','2020-12-06 17:52:02','2020-01-06 18:52:02','2020-10-06 12:52:02','05.09.2020 13:04:13','05.03.2020 19:03:13','','','2020-07-06 22:52:02','05.12.2020 19:03:13','','05.01.2020 16:03:13','2020-03-06 1:52:02','05.09.2020 3:03:13', '05.09.2020 13:03:13','','','','','05.09.2020 4:03:13','2020-09-06 23:52:02''','']

df = pd.DataFrame(a)
res = df[0].apply(lambda x: pd.to_datetime(x).
                  strftime('%d.%m.%Y %H:%M:%S') if len(x) else '').to_list()

соответственно, получим res:

['06.09.2020 15:52:02', '', '08.05.2020 09:03:13', '', '', '06.12.2020 17:52:02', '06.01.2020 18:52:02', '06.10.2020 12:52:02', '09.05.2020 13:04:13', '03.05.2020 19:03:13', '', '', '06.07.2020 22:52:02', '12.05.2020 19:03:13', '', '01.05.2020 16:03:13', '06.03.2020 01:52:02', '09.05.2020 03:03:13', '09.05.2020 13:03:13', '', '', '', '', '09.05.2020 04:03:13', '06.09.2020 23:52:02', '']
→ Ссылка