0

I have this dataset:

my_df = pd.DataFrame({'id':[1,2,3],
                      'date':['2019-05-16T12:39:40+0000','2019-05-16T12:39:50+0000','2019-03-28T19:36:42+0000']})

    id  date
0   1   2019-05-16T12:39:40+0000
1   2   2019-05-16T12:39:50+0000
2   3   2019-03-28T19:36:42+0000

And I want to convert it to date time, but there is a T in the middle I can't parse. This is what I have tried:

my_df['date'] = pd.to_datetime(df['date'], format='yyyy-mm-ddThh:mm:ss')

But it returns:

ValueError: time data '2019-05-16T12:39:40+0000' does not match format 'yyyy-mm-ddThh:mm:ss' (match)

Please, can you help me with this question? Am I parsing wrongly the string?

Alexis
  • 2,104
  • 2
  • 19
  • 40

1 Answers1

1

You don't need to specify the format, pandas can recognize it already

In [2]: my_df = pd.DataFrame({'id':[1,2,3],
   ...:                       'date':['2019-05-16T12:39:40+0000','2019-05-16T12:39:50+0000','2019-03-28T19:36:42+0000']
   ...: })

In [3]: my_df
Out[3]:
   id                      date
0   1  2019-05-16T12:39:40+0000
1   2  2019-05-16T12:39:50+0000
2   3  2019-03-28T19:36:42+0000

In [4]: pd.to_datetime(my_df['date'])
Out[4]:
0   2019-05-16 12:39:40+00:00
1   2019-05-16 12:39:50+00:00
2   2019-03-28 19:36:42+00:00
Name: date, dtype: datetime64[ns, UTC]
Jim
  • 398
  • 1
  • 6