

第一種情況不用傳date_parser參數,Python會自動解析,第二種則需要手動傳入。


import pandas as pd df=pd.read_excel( 'pandas_excel_parse.xlsx', ) print(df.dtypes)

1、parse_dates=True 嘗試將格式解析成日期格式,解析不成功也不會出錯,只按原格式輸出
import pandas as pd df=pd.read_excel( 'pandas_excel_parse.xlsx', index_col=2 #設置第三列為行索引 ) print(df.index)
可以看到索引是object類型,不是日期類型。

如果要將行索引設置為日期類型的話,可以這么操作:
#1、pasre_date=True嘗試解析index為日期類型 import pandas as pd df=pd.read_excel( 'pandas_excel_parse.xlsx', index_col=2, #設置第三列為行索引 parse_dates=True #將行索引設置為日期類型 ) print(df.index)

#2、 parse_dates=[0,1]或者['列名1','列名2'],嘗試將指定列解析為日期類型 import pandas as pd df=pd.read_excel( 'pandas_excel_parse.xlsx', parse_dates=[0,1,2,3,4,5,6] #將所有列解析為日期類型 # parse_dates =['日期0','日期1'] #也可以這樣 ) print(df.dtypes)


#3、parse_date=[[0,1,2]] 或者parse_dates=[['列名1','列名2','列名3']]結合多列解析為單個日期列 import pandas as pd df=pd.read_excel( 'pandas_excel_parse.xlsx', sheet_name=1, # parse_dates=[[0,1,2]] #年、月、日三列拼接成一個日期格式 parse_dates=[['年','月','日']] #或者這樣 ) print(df.dtypes) print(df)

#4、 同上,將列名改為“日期” import pandas as pd df=pd.read_excel( 'pandas_excel_parse.xlsx', sheet_name=1, # parse_dates={'日期':[0,1,2]} #年、月、日三列拼接成一個日期格式,利用字典,將key名指定為列名 parse_dates={'日期':['年','月','日']} #或者這樣 ) print(df.dtypes) print(df)

