Создание даты первого и первого месяца в файле csv день-первый - PullRequest
0 голосов
/ 11 июня 2019

У меня есть CSV-файл, который имеет столбец дат.Даты указаны в порядке месяца, поэтому сначала идет январь, затем февраль и так далее.Проблема в том, что некоторые даты представлены в формате мм / дд / гггг, а другие в формате дд / мм / гггг.Вот как это выглядит.

Дата

01/08/2005
01/12/2005
15/01/2005
19/01/2005
22/01/2005
26/01/2005
29/01/2005
03/02/2005
05/02/2005

...

Я хотел бы привести их все в один и тот же формат (дд / мм / гггг)

Я используюPython и панды для чтения и редактирования файла CSV.Я пытался использовать Excel, чтобы вручную изменить форматы даты с помощью встроенных инструментов форматирования, но это кажется невозможным при большом количестве строк.Я думаю об использовании регулярных выражений, но я не совсем уверен, как различить первый месяц и первый день.

# here's what i have so far
date = df.loc[i, 'Date']

pattern = r'\d\d/\d\d/\d\d'        
match = re.search(pattern, date)  

if match:
    date_items = date.split('/')
    day = date_items[1]
    month = date_items[0]
    year = date_items[2]
    new_date = f'{dd}/{mm}/{year}'
    df.loc[i, 'Date'] = new_date

Я хочу, чтобы в конце CSV имел одинаковый формат даты.

1 Ответ

1 голос
/ 11 июня 2019

Короче говоря: вы не можете!

У вас нет возможности узнать, будет ли 01/02/2019 2 января или 1 февраля! То же самое касается других дат в ваших примерах, таких как:

01/08/2005
01/12/2005
03/02/2005
05/02/2005
...