Не получается прочитать дату 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