Python Forum
Convert SAS Dates Format in a loop
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Convert SAS Dates Format in a loop
#1
import pandas as pd
Dates_Min_Max_Df = pd.read_sas("path/file.sas7bdat")
print(Dates_Min_Max_Df)
                Minimum_Date Maximum_Date
Close_dt        1.556669e+09 1.856563e+09
Open_dt         1.836669e+09 1.996669e+09
Current_Mth     1.986669e+09 1.556459e+09

def convert_sas_dates(df,field):
         df[field] = pd.to_timedelta(df[field], unit= 's') + pd.datetime(1960,1,1)
         return df
dt_list = ['Minimum_Date','Maximum_Date']
for field in dt_list:
         Dates_Min_Max_Df = convert_sas_dates(Dates_Min_Max_Df, field)
Error:
KeyError: 'Minimum_Date'
Quote:Required output

Output:
print(Dates_Min_Max_Df) Minimum_Date Maximum_Date Min_Date Max_Date Close_dt 1.556669e+09 1.856563e+09 2009-04-30 2010-04-30 Open_dt 1.836669e+09 1.996669e+09 2010-04-29 2011-04-30 Current_Mth 1.986669e+09 1.556459e+09 2010-03-30 2009-04-20

can someone help
Reply
#2
Can someone help or is there anything I am missing while raising a query?
Reply
#3
Try something like this instead:

def convert_sas_dates(df, field, inplace=False, unit='s'):
    """Converts sas-formated column to standard.
    """
    if inplace:
        df.loc[:, field] = pd.to_timedelta(df.loc[:, field]) + pd.datetime(1960, 1, 1)
    else:
        df_ = df.copy()
        df_.loc[:, field] = pd.to_timedelta(df_.loc[:, field], unit=unit) + pd.datetime(1960,1,1)
        return df_
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  loop through csv format from weburl in python maddyad82 3 359 Jan-17-2024, 10:08 PM
Last Post: deanhystad
Thumbs Up Convert word into pdf and copy table to outlook body in a prescribed format email2kmahe 1 705 Sep-22-2023, 02:33 PM
Last Post: carecavoador
  convert this List Comprehensions to loop jacklee26 8 1,418 Oct-21-2022, 04:25 PM
Last Post: deanhystad
  Convert Json to table format python_student 2 5,070 Sep-28-2022, 12:48 PM
Last Post: python_student
  Convert .xlsx to Format as Table bnadir55 0 862 Aug-11-2022, 06:39 AM
Last Post: bnadir55
  how to convert and format a varable darktitan 4 1,624 May-29-2022, 12:59 PM
Last Post: darktitan
  Convert Date to another format lonesoac0 2 1,632 Mar-17-2022, 11:26 AM
Last Post: DeaD_EyE
  Convert timedelta to specified format Planetary_Assault_Systems 3 3,085 Jun-27-2021, 01:46 PM
Last Post: snippsat
  How to convert dates in odd format to months lokhtar 2 2,183 Apr-17-2021, 11:54 AM
Last Post: lokhtar
  Matplotlib: How do I convert Dates from Excel to use in Matplotlib JaneTan 1 3,162 Mar-11-2021, 10:52 AM
Last Post: buran

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020