1

簡単な例:

import sqlite3, datetime, csv
import pandas.io.sql as sql
from dateutil.parser import parse

my_db = 'test_db.db'

connection=sqlite3.connect(my_db,detect_types=sqlite3.PARSE_DECLTYPES|sqlite3.PARSE_COLNAMES)
cursor = connection.cursor()

cursor.execute('''CREATE TABLE test_table (Id  INTEGER PRIMARY KEY, Date DATE);''')

date_str = '1/1/2011'
date_parsed = parse(date_str)

cursor.execute('INSERT into test_table (Id, Date) values(?,?)',(1,date_parsed))

cursor.execute('SELECT * FROM test_table')

収量:

ValueError: invalid literal for int() with base 10: '01 00:00:00'

私は単純に、SQL db に日付を日時形式で返させようとしているだけなので、それらに対してフィルター処理されたクエリを実行できます。

参考のために、この関連記事をすでに読んでいます。

SQLite の日付の保存と変換

4

1 に答える 1

3

あなたの中CREATE TABLEで、あなたは使用していますDate DATE

CREATE TABLE test_table (Id  INTEGER PRIMARY KEY, Date DATE)

これに関する問題はdatetime.date、フォーマットが を使用するように変更すると、それが正しく機能し、それを...TIMESTAMPにしようとすることです。datetime.datetime

CREATE TABLE test_table (Id  INTEGER PRIMARY KEY, Date TIMESTAMP)
于 2012-11-30T18:39:52.073 に答える