2017-12-06 10 views
1

私はOrder_dateカラムを持ついくつかのデータフレームを持っています。すべてのDataFramesでは、のOrder_dateカラムのdtypesはdatetime64 [ns]です。これらの列には有効な日付とNaT値が入っています。Pandas datetime64 [ns]値をMS Accessに取り込む方法

ORDER_DATE列が印刷されたときにどのように見えるかの例:

Order_date 

1 2017-01-01 2 NaT 3 NaT 4 NaT 5 2017-10-22

私はpyodbc経由でMS Accessのテーブルへのデータフレームのこれらの列を移入しようとしています。

私は次のエラーを取得:

pyodbc.DataError:( '22008'、 '[22008] [Microsoft]の[ODBC Microsoft Accessのドライバー]日時フィールドのオーバーフロー(SQLExecDirectW)')

を研究の後、私は、MS Access 2016の日付/時刻データ型がODBCデータ型SQL_TIMESTAMPに対応していることに気付きました。だから、

、私はSQL_TIMESTAMPにdatetime64 [NS]を変換するには、以下を試してみました:

import datetime 
cursor.execute("SQL statement...VALUES(?)", datetime.datetime(order_date)) 

しかし、私はこのエラーを取得する:TypeError例外:整数が必要とされるが(タイムスタンプを入力しました)。

Pandas/Numpy datetime64 [ns]の値をMS Accessテーブルに正しく挿入するにはどうすればよいですか?どのようにdatetime64 [ns]の値をSQL_TIMESTAMPに変換できますか?

+0

同じ質問ああます。https:?//stackoverflow.com/questions/47666800/how-to-convert-pandas-nan-to-nat/ちょうど戻っ列にpd.to_datetimeによって返さシリーズを割り当てる必要があります47666975#47666975 – Wen

答えて

0

IIUC - あなたはほとんどそこにいました。

df['Order_date'] = pd.to_datetime(df['Order_date'], errors='coerce') 
+0

ありがとうございます。あなたのソリューションは列をNaTに変換します。別の質問があります.Pandasのdatetime64 [ns]値をMS Access SQL_TIMESTAMP値に変換する方法を知っていますか?私は上記の質問を更新しましたのでご注意ください。 – CPU

+0

@ムック、あなたが質問を更新すると、あなたは与えられた回答を無効にします。代わりに新しい質問をして、答えを受け入れることを検討してください... – MaxU

+0

@ MaxU - 私はあなたの答えを受け入れました。あなたの答えをもう一度ありがとう。 – CPU

関連する問題