2017-10-10 3 views
1

私の研究のために私はPythonを学んでいます(アナコンダは3.6です)。パンダはインポートの日付を変更します

Imパンダを使用して、日付(dd-mm-yyyy)と価格の2列のxlsファイルをインポートします。

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

Imが取得:

2010-01-04 00:00:00 

の代わり:MM:SSが追加され、私が手

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

私はhhはなぜ知らない しかし、パンダは、日付の書式を変更します「日付」列の各行に同じ結果が表示されます。私はto_datetimeを使って別のものを試しましたが、それを修正しませんでした。

あなたが必要なもの

おかげ

+1

Excelの日付は文字列として保存されません。数値は単なる数値です。そのデータをExcelから取り出すと、フォーマットが失われます。 Pythonは、あなたがそれを印刷するときに独自の書式設定を適用します。 –

+0

この情報をありがとう、私の問題はとにかく修正されました;) – CDVC23

答えて

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 
+0

ありがとう、それはpd.datetime.strftime(df.iloc [0,1]、 "%Y-%m-%d")で正常に動作します – CDVC23

+0

答えを受け入れていただきありがとうございます –

関連する問題