pandas.to_datetime的format参数不起作用

之前用pandas处理日期之后,想要保存结果到excel,发现不管怎么设置,日期这一列数据总是带有time部分。

在pyCharm或者Jupyter Notebook打印出来的结果都是正常的,但实际上并不是这样的:

具体原因我也没找到,好在有方法可以解决。

  • 使用Series的dt方法

    1
    2
    3
    4
    df['日期'] = pd.to_datetime(df['日期'], format='%Y-%m-%d').dt.date

    # 或者
    df['日期'] = df['日期'].dt.strftime('%Y-%m-%d')
  • 使用日期的date方法

    1
    2
    3
    df['日期'] = pd.to_datetime(df['日期'], format='%Y-%m-%d')
    df['日期'] = [time.date() for time in df['日期']]
    # 获取时间部分则是用time()