Pandas excel导入更改日期格式

时间:2017-10-10 13:51:33

标签: python excel pandas date

我正在学习python(3.6用anaconda)进行学习。

我正在使用pandas导入一个包含2列的xls文件:Date(dd-mm-yyyy)和price。 但是pandas改变了日期格式:

xls_file = pd.read_excel('myfile.xls')
print(xls_file.iloc[0, 0])

我得到了:

2010-01-04 00:00:00

而不是:

04-01-2010     or at least :  2010-01-04  

我不知道为什么hh:mm:ss被添加,我从Date列的每一行得到相同的结果。我使用to_datetime尝试了不同的东西,但它没有解决它。

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:0)

您需要定义datetime值打印的格式。可能有一种更优雅的方式来实现它,但类似的东西将起作用:

In [11]: df
Out[11]:
   id       date
0   1 2017-09-12
1   2 2017-10-20

# Specifying the format
In [16]: print(pd.datetime.strftime(df.iloc[0,1], "%Y-%m-%d"))
2017-09-12

如果您希望将日期存储为特定格式的字符串,那么您还可以执行以下操作:

In [17]: df["datestr"] = pd.datetime.strftime(df.iloc[0,1], "%Y-%m-%d")
In [18]: df
Out[18]:
   id       date     datestr
0   1 2017-09-12  2017-09-12
1   2 2017-10-20  2017-09-12

In [19]: df.dtypes
Out[19]:
id                  int64
date       datetime64[ns]
datestr            object
dtype: object