Мои данные времени "не соответствуют формату". Как правильно отформатировать дату и время? - PullRequest
1 голос
/ 23 октября 2019

Я использую фрейм данных pandas, в котором я хочу отформатировать один столбец для объектов даты и времени. Строки «объект» выглядят так: 2009-01-01T00: 00: 01 + 02: 00

Я попытался отформатировать столбец с to_datetime(dataset["Datetime"], format = "%Y/%m/%d T %H:%M:%S %z")

dataset = pd.read_csv('data.csv', sep = ";", header = "infer")
dataset["Datetime"] = pd.to_datetime(dataset["Datetime"], format = "%Y/%m/%d T %H:%M:%S %z")

Я ожидаюстолбцы, которые нужно преобразовать в объект datetime, но вместо этого я получаю сообщение об ошибке:

«ValueError: time data» 2009-01-01T00: 00: 01 + 02: 00 «не соответствует формату»% Y /% m /% d T% H:% M:% S% z '"

1 Ответ

1 голос
/ 23 октября 2019

Если возможно, используйте только to_datetime без параметра format:

dataset = pd.DataFrame({
         'Datetime':['2009-01-01T00:00:01+02:00','2009-01-01T00:00:01+02:00'],
})

dataset["Datetime"] = pd.to_datetime(dataset["Datetime"])

Если хотите указать формат, также возможно, удалите пробелы и измените / на -:

dataset["Datetime"] = pd.to_datetime(dataset["Datetime"], format = "%Y-%m-%dT%H:%M:%S%z")
print (dataset)

                   Datetime
0 2009-01-01 00:00:01+02:00
1 2009-01-01 00:00:01+02:00
...