Jupyter Notebooks Python - Dates


Hi Domo Experts,

I'm having issues writing back dates into a dataset from a pandas dataframe in Juptyer notebooks. I have a datetime column , which I've converted from a string using pandas.to_datetime. However, when I use domojuypiter.write_dataframe, they are converted back into string in the Domo dataset. My dataframe has both numbers and text fields, which are passed without issues.

Am I using the right type of date time object or is there something else I should do differently?




  • GrantSmith

    Are all of your dates in ISO format? Did you previously write to the dataframe with the dates still formatted as a string? Have you tried writing to a brand new dataset?

    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • Carlos_Yanez

    Hi Grant,

    Yes, this is happening with dates formated as string, isoformat and datetime.

    I've deleted the dataset and created a new one and is still happening.

  • RobB
    RobB Domo Employee


    Have you tried providing a datetime format for the pd.to_datetime() method. I've found it best to dictate to this method exactly how to recognize the datetime:

    df['column'] = pd.to_datetime(df['column'],format='%Y-%m-%d')

    This example will tell the method to recognize a date in a specific format. In this case it will recognize the ISO format. Try this and see if you can get a datetime output with a default time of midnight for the data in that column. If that works, we know we can get the date converted. We can then apply similar formatting for the time:

    df['column'] = pd.to_datetime(df[column], format = '%Y-%m-%d %H:%M:%S')

    This will tell it to see the time in 24-Hour format. If you need 12-Hour format, replace %H with %I.

    pandas.to_datetime() recognizes the same datetime formatting as the datetime.strptime()

    See this for all the time formats available: https://www.w3schools.com/python/gloss_python_date_format_codes.asp