Converting different date time formats to MM/DD/YYYY format in pandas dataframe

后端 未结 3 1719
长情又很酷
长情又很酷 2020-12-11 09:54

I have a date column in a pandas.DataFrame in various date time formats and stored as list object, like the following:

            date
1    [May 23rd, 2011]         


        
3条回答
  •  北海茫月
    2020-12-11 10:04

    Provided code will work for following scenarios.

    • Change date format from M/D/YY to MM/DD/YY (5/2/2009 to 05/02/2009)
    • change form ANY FORMAT to MM/DD/YY

    import pandas as pd

    '''
           * checking provided input file date format correct or not
           * if format is correct change date format from M/D/YY to MM/DD/YY
           * else date format is not correct in input file
             Date format  change form ANY FORMAT to MM/DD/YY
      '''
    input_file_name = 'C:/Users/Admin/Desktop/SarenderReddy/predictions.csv'
    dest_file_name = 'C:/Users/Admin/Desktop/SarenderReddy/Enrich.csv'
    #input_file_name = 'C:/Users/Admin/Desktop/SarenderReddy/enrichment.csv'
    read_data = pd.read_csv(input_file_name)
    print(pd.to_datetime(read_data['Date'], format='%m/%d/%Y', errors='coerce').notnull().all())
    
    if pd.to_datetime(read_data['Date'], format='%m/%d/%Y', errors='coerce').notnull().all():
        print("Provided correct input date format in input file....!")
        read_data['Date'] = pd.to_datetime(read_data['Date'],format='%m/%d/%Y')
        read_data['Date'] = read_data['Date'].dt.strftime('%m/%d/%Y')
        read_data.to_csv(dest_file_name,index=False)
        print(read_data['Date'])
    else:
        print("NOT... Provided correct input date format in input file....!")
        data_format = pd.read_csv(input_file_name,parse_dates=['Date'], dayfirst=True)
        #print(df['Date'])
        data_format['Date'] = pd.to_datetime(data_format['Date'],format='%m/%d/%Y')
        data_format['Date'] = data_format['Date'].dt.strftime('%m/%d/%Y')
        data_format.to_csv(dest_file_name,index=False)
        print(data_format['Date'])
    

提交回复
热议问题