我正在嘗試將日期轉換為正確的日期格式。我已經測驗了我在論壇中閱讀的一些可能性,但是我仍然不知道如何解決這個問題:
匯入后:
df = pd.read_excel(r'/path/df_datetime.xlsb', sheet_name="12FEB22", engine='pyxlsb')
我得到以下df:
{'Unnamed: 0': {0: 'Administrative ID',
1: '000002191',
2: '000002382',
3: '000002434',
4: '000002728',
5: '000002826',
6: '000003265',
7: '000004106',
8: '000004333'},
'Unnamed: 1': {0: 'Service',
1: 'generic',
2: 'generic',
3: 'generic',
4: 'generic',
5: 'generic',
6: 'generic',
7: 'generic',
8: 'generic'},
'Unnamed: 2': {0: 'Movement type',
1: 'New',
2: 'New',
3: 'New',
4: 'Modify',
5: 'New',
6: 'New',
7: 'New',
8: 'New'},
'Unnamed: 3': {0: 'Date',
1: 37503,
2: 37475,
3: 37453,
4: 44186,
5: 37711,
6: 37658,
7: 37770,
8: 37820},
'Unnamed: 4': {0: 'Contract Term',
1: '12',
2: '12',
3: '12',
4: '12',
5: '12',
6: '12',
7: '12',
8: '12'}}
但是,即使我在匯入程序中嘗試轉換“日期”列(或“未命名 3”,因為原始資料集沒有第一行,所以我必須在那之后更改標題),但它一直不成功。
有什么我可以做的選擇嗎?
謝謝!
uj5u.com熱心網友回復:
嘗試這個:
from xlrd import xldate_as_datetime
def trans_date(x):
if isinstance(x, int):
return xldate_as_datetime(x, 0).date()
else:
return x
print(df['Unnamed: 3'].apply(trans_date))
>>>
0 Date
1 2002-09-04
2 2002-08-07
3 2002-07-16
4 2020-12-21
5 2003-03-31
6 2003-02-06
7 2003-05-29
8 2003-07-18
Name: Unnamed: 3, dtype: object
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/442402.html
上一篇:將序數日期、月份名稱縮寫和正常年份格式的字串日期列轉換為%Y-%m-%d
下一篇:計算上一年的第N天
