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)

 

 

posted @ 2020-12-24 00:36  Python那点事  阅读(6884)  评论(0编辑  收藏  举报