Я пытаюсь преобразовать строку даты и времени (немецкий), полученную из MS Project Excel Export.
02 февраля 2022 17:00
Я прочитал его из Excel-Export MS Project в кадр данных pandas.
При преобразовании с
to_datetime(df["Anfang"], format= '%d %B %Y %H:%M').dt.date
но получить ошибку
ValueError: time data '07 Januar 2019 07:00' does not match format '%d %B %Y %H:%M' (match)
из https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior
%B Month as locale’s full name. September
Что я здесь делаю неправильно? Нужно ли проверять какие-то локальные настройки? Я использую немецкий (швейцарский)
import locale
locale.getdefaultlocale()
('de_CH', 'cp1252')
df in:
0 10 April 2019 08:00
1 07 Januar 2019 07:00
2 07 Januar 2019 07:00
3 07 Januar 2019 07:00
4 09 Oktober 2019 17:00
5 04 Dezember 2020 17:00
Name: Anfang, dtype: object
df out (разыскивается):
0 10-04-2019
1 07-01-2019
.
.
EDIT: я изменил свою локаль на ('de_DE', 'cp1252'), но получаю ту же ошибку.
РЕШЕНО: Используя ответ matJ, я получил ошибку, что «Die 15.06.21» не соответствует формату, что заставило меня исследовать данные. Там я нашел два разных формата даты (спасибо, Microsoft!). После очистки приведенный выше код работал хорошо!!! Таким образом, сообщение об ошибке to_datetime
не было точным, как datetime.strptime
.
Спасибо за помощь.
Йоханнес
de_CH
программойstrftime
. Если это не так, я буду использовать dateparser. - person nanuuq   schedule 13.06.2019