2017-03-22 3 views
2

Python 3.6とPandas 0.19.2を使用する:Excelファイルを読み込み、列をdatetimeに変更するにはどうすればread_excelになりますか? This Question about converters and dtypesに似ています。以下のようなものにPandas Read_Excel Datetime Converter

import pandas as pd 
import datetime 
import numpy as np 

file = 'PATH_HERE' 

df1 = pd.read_excel(file) 

df1['COLUMN'] = pd.to_datetime(df1['COLUMN']) # <--- Line to get rid of 

df1 = pd.read_excel(file, dtypes= {'COLUMN': datetime})

コードがエラーませんが、私の例では、COLUMNしかし、私は、私はこれを変更したいdatetime

として、特定の列に読みたいです電話後のint64のdtypeですprint(df1['COLUMN'].dtype)

私はの代わりにを使用しようとしました。私はまた、dtypes=の代わりにconverters=を使ってみましたが、役に立たなかった。これはニッチピキであるかもしれませんが、私のコードで実装するには素晴らしい機能です。

+3

'DF1 = pd.read_excel(ファイル、コンバーター= {「COLUMN」を行います。 to_datetime}) '仕事? – EdChum

+0

@EdChum、それは...それが私が試した最初のことでしたが、私はタイプミスをしたに違いないと思っています。ありがとうございました。補助ノートとして – MattR

答えて

4

一般的にExcelシートを読み取るには、Excelシートで定義されたdtypeを使用しますが、たとえばread_csvのようなdtypeは指定できません。あなたが列を変換するために呼び出す列とFUNCの辞書を渡すことができたためconverters引数を提供することができます。PD:

df1 = pd.read_excel(file, converters= {'COLUMN': pd.to_datetime}) 
+0

:Excel *は本当にデータ型を格納しますか?以前は表示形式であったことを覚えています。 – MattR

+0

さて、Excelモジュールでスニッフィングされていますが、Excelで列を文字列または数値として定義してからパンダにロードするときにこれをテストできるはずです – EdChum

+0

なぜ私が 'df1.to_excel 'Excelは、書かれた後、すべての列を「カスタム」として読み込み、他のプロセスをスローします。私はフォーマットで読むことでそれを解決できるかどうか疑問に思っていましたが、そうではありません。 – MattR

関連する問題