excel的读取--(7)parse_dates参数
第一种情况不用传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)