Не получается прочитать дату pandas

Имеется excel таблица, в которой есть колонка Day-Date, в этой колонке записана дата в формате строки на русском языке, пример: Пн,04-22-2024.

Выдает ошибку:

pandas._libs.tslibs.parsing.DateParseError: Unknown datetime string format, unable to parse: Пн,04-22-2024, at position 0

Код:

availability_df['Day-Date'] = pd.to_datetime(availability_df['Day-Date']).dt.date

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

Автор решения: Сергей Кох

Установите русскую локаль и соответствующий формат:

import locale
locale.setlocale(locale.LC_ALL, 'ru_RU')

import pandas as pd
print(pd.to_datetime('Пн,04-22-2024', format='%a,%m-%d-%Y'))

-------------------

2024-04-22 00:00:00

Ответ взял отсюда https://stackoverflow.com/questions/41051389/pandas-parse-non-english-string-dates

→ Ссылка
Автор решения: Oopss

Можно убрать день недели, все равно он есть в дате.

import pandas as pd


r = {'Day-Date': ['Пн,04-22-2024',
                  'Вт,04-23-2024',
                  'Ср,04-24-2024',
                  'Чт,04-25-2024',
                  'Пт,04-26-2024',
                  'Сб,04-27-2024',
                  'Вс,04-28-2024',
                  'Вт,04-29-2024',
                  'Ср,04-30-2024',
                  'Чт,05-01-2024',
                  'Пт,05-02-2024',
                  'Сб,05-03-2024',
                  'Вс,05-04-2024',
                  'Вт,05-05-2024',
                  'Ср,05-06-2024']}


def dede(x):
    return x.str.split(',', expand=True)[1]


availability_df = pd.DataFrame(r)
availability_df['Day-Date'] = pd.to_datetime(dede(availability_df['Day-Date'])).dt.date
print(availability_df)

      Day-Date
0   2024-04-22
1   2024-04-23
2   2024-04-24
3   2024-04-25
4   2024-04-26
5   2024-04-27
6   2024-04-28
7   2024-04-29
8   2024-04-30
9   2024-05-01
10  2024-05-02
11  2024-05-03
12  2024-05-04
13  2024-05-05
14  2024-05-06
→ Ссылка