Python 跳过空值时将字符串转换为日期时间
我正在尝试转换一个包含表示日期的字符串的字段。我从以下代码开始,首先确保值是字符串,然后将其转换为字符串。。。。。。。你可能觉得一切都好!?(字符串的格式为Python 跳过空值时将字符串转换为日期时间,python,datetime,Python,Datetime,我正在尝试转换一个包含表示日期的字符串的字段。我从以下代码开始,首先确保值是字符串,然后将其转换为字符串。。。。。。。你可能觉得一切都好!?(字符串的格式为yyyymmdd) 然而,这给了我一个错误,陈述如下 ValueError: unconverted data remains: .0 def dateconvert(Start_date): Start_date = int(Start_date) Date_String = str(Start_date) d
yyyymmdd
)
然而,这给了我一个错误,陈述如下
ValueError: unconverted data remains: .0
def dateconvert(Start_date):
Start_date = int(Start_date)
Date_String = str(Start_date)
dateconv = dt.datetime.strptime(Date_String, '%Y%m%d').strftime('%d/%m/%Y')
return dateconv
df['Newdates'] = df['Start_Date'].apply(dateconvert)
我假设这可能是因为我输入的值是一个浮点值,所以我添加了以下内容:
ValueError: unconverted data remains: .0
def dateconvert(Start_date):
Start_date = int(Start_date)
Date_String = str(Start_date)
dateconv = dt.datetime.strptime(Date_String, '%Y%m%d').strftime('%d/%m/%Y')
return dateconv
df['Newdates'] = df['Start_Date'].apply(dateconvert)
然而,这给了我
ValueError: cannot convert float NaN to integer
由于此特定字段中存在Null
值
因此,我尝试了以下操作,但仍然得到与以前相同的错误
def dateconvert(Start_date):
if Start_date is not None:
Start_date = int(Start_date)
Date_String = str(Start_date)
dateconv = dt.datetime.strptime(Date_String, '%Y%m%d').strftime('%d/%m/%Y')
return dateconv
df['Newdates'] = df['Start_Date'].apply(dateconvert)
我只希望能够将这个字符串转换为日期,跳过空值
谢谢。可以使用try/catch
def dateconvert(Start_date):
try:
Start_date = int(Start_date)
Date_String = str(Start_date)
dateconv = dt.datetime.strptime(Date_String, '%Y%m%d').strftime('%d/%m/%Y')
return dateconv
except ValueError:
return Start_date #or '' or whatever you want to return for NULL
真漂亮。谢谢!