こんにちはパイソン/ SQLiteの専門家、PythonのSQLiteの日時書式は、私は自分自身に説明することはできません非常に奇妙な行動を持って
を無視しました。たぶん、次のことができます。 私は一つだけのテーブルでのsqliteのDBがあります
CREATE TABLE testme (
id INTEGER PRIMARY KEY AUTOINCREMENT
UNIQUE
NOT NULL,
dataId STRING NOT NULL,
Sender STRING NOT NULL,
Value DECIMAL NOT NULL,
Date DATETIME NOT NULL
を)。 Pyhtonと
私はcsvファイルからいくつかのデータを追加しました:その後
import csv
import sys
import sqlite3 as lite
con = lite.connect('data.db3')
f = open('Export_378334000.csv', 'rt')
cur = con.cursor()
cur.execute("delete from data1")
con.commit()
cur.execute("vacuum")
con.commit()
try:
reader = csv.reader(f, delimiter="\t")
for row in reader:
print ("Name: " + row[0])
print ("Betrag: " + row[6])
print ("Datum: " + row[9])
print ("id: " + row[21])
cur.execute("INSERT INTO data1 (dataid,sender,value,date) VALUES ('" + row[21] + "','" + row[0] + "','" + row[6] + "','" + row[9] + "')")
con.commit()
finally:
con.commit()
f.close()
を私は日付の列の文字列のエントリを持つ行を見つけ....:
Name: Name 1
Betrag: Betrag
Datum: Wertstellungsdatum
id: Buchungs-ID
どのようにすることができます日付行のエントリがdatetimeで認識されているかどうかを確認してください。
Wertstellungsdatum:テーブルを作成する場合は、ルールをチェックする設定されていますか? –
SQLiteは、データに関係なく、任意の列に何かを受け入れます。文字列を整数に、整数を日付時間に挿入することができます。例外は、列がNOT NULLとして定義されている場合にのみNULLを持つことです。 さらに、Pythonのsqliteはデータを挿入するためのプレースホルダを受け取ります。https://docs.python.org/3/library/sqlite3.html#cursor-objects – MrGumble
を参照してください。入力データがあなたの期待するものではない –