Máte skutečně pravdu, že pole datetime64 způsobuje potíže. Sqlite nemá žádný skutečný typ data a času, ale k vyjádření časů používá textové nebo celočíselné typy (viz http:// www.sqlite.org/datatype3.html a http://www.sqlite.org/lang_datefunc.html ).
Takže v závislosti na tom, co chcete udělat, můžete nejprve převést sloupec datetime na řetězec:
df['field2'] = df['field2'].apply(str)
nebo na int (počet sekund od 1970-01-01 00:00:00 UTC):
df['field2'] = df['field2'].astype('int64')
a poté zapište svá data do sqlite.
Vedlejší poznámky:
- Jakou verzi pand používáte? Protože ve verzi 0.13 (nebo nižší) je chyba v
if_exists='replace'
implementace, která je opravena v 0.13.1 (aktuálně nejnovější stabilní vydání) - V nadcházejících pandách 0.14 bude nová implementace funkcí SQL založených na sqlalchemy a převod na řetězec bude probíhat automaticky (takže již nedochází k chybě pro data datetime64).