我正在学习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尝试了不同的东西,但它没有解决它。
有什么想法吗?
由于
答案 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