I'm trying to convert this French string : '20 avril 2018 - Arrivée définitive' as a Date Object.
Jour = ['20 avril 2018 - Arrivée définitive', '21 septembre 2018 - Arrivée définitive', '1 décembre 2019 - Arrivée définitive']
I tried :
import dateparser # $ pip install dateparser
for date_string in Jour:
print(dateparser.parse(date_string).date())
But I have this error :
AttributeError: 'NoneType' object has no attribute 'date'
Thank you in advance for your help.
I'm hoping that this will help someone.
As you can read in documentation The parse
function returns datetime representing parsed date if successful, else returns None
so while looping, the parse function returned None
of which you tried to use date
function causing an error.
I am not sure if it would help but If you check in console:
>>> import dateparser
>>> dateparser.parse("20 avril 2018 - Arrivée définitive")
>>> dateparser.parse("21 septembre 2018 - Arrivée définitive")
>>> dateparser.parse("21 septembre 2018")
datetime.datetime(2018, 9, 21, 0, 0)
>>>
So string "21 septembre 2018" parses well but "21 septembre 2018 - Arrivée définitive" parses as None
(nothing printed means None
in this case)
Thank you mucka ! The problems is, to solve this you can just find and replace the " - Arrivée définitive" by space but on a very long list of more than 5 million elements like I have, you just have to start again a new regex to replace everything. I solve it like that. The thing is I just wanted it to work without having to do that. Thank you for everything.