Du har faktisk ret i, at datetime64-feltet forårsager problemerne. Sqlite har ingen reel datetime-type, men de bruger tekst- eller heltalstyper til at repræsentere tider (se http:// www.sqlite.org/datatype3.html og http://www.sqlite.org/lang_datefunc.html ).
Så afhængigt af hvad du vil gøre, kan du først konvertere din datetime-kolonne til en streng:
df['field2'] = df['field2'].apply(str)
eller til en int (antal sekunder siden 1970-01-01 00:00:00 UTC):
df['field2'] = df['field2'].astype('int64')
og skriv derefter dine data til sqlite.
Sidenotes:
- Hvilken version af pandaer bruger du? Fordi i version 0.13 (eller derunder) er der en fejl i
if_exists='replace'
implementering, som er rettet i 0.13.1 (seneste stabile udgivelse i øjeblikket) - I den kommende pandas 0.14 vil der være en ny implementering af sql-funktionerne baseret på sqlalchemy, og der vil konverteringen til en streng ske automatisk (så der ikke længere fejles for datetime64-data).