只要列中沒有空值,這段代碼就可以很好地將 excel 通用數字轉換為日期,當列包含任何空值時,它會拋出我在下面描述的任何錯誤。誰能幫助我如何忽略空單元格?另一方面,我還需要將空單元格保持為空,因為我不想洗掉它們,在資料框中其他列也包含一些資料。
df = pd.DataFrame({
"date": ['42369', '', '42371', '42372']
})
df["newDate"] = df["date"].map(lambda x: datetime(*xlrd.xldate_as_tuple(int(x), 0)))
當列包含任何空值時,我會收到此類錯誤。
錯誤資訊:enter code here
基數為 10 的 int() 的無效文字:''
uj5u.com熱心網友回復:
使用索引洗掉壞行:
xldate_as_tuple = lambda x: datetime(*xlrd.xldate_as_tuple(int(x), 0))
df['newDate'] = df.loc[df['date'] != '', 'date'].map(xldate_as_tuple)
print(df)
# Output
date newDate
0 42369 2015-12-31
1 NaT
2 42371 2016-01-02
3 42372 2016-01-03
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/412449.html
標籤:
上一篇:熊貓視窗功能
