我想从一个PostgreSQL数据库中查询数据并将其插入到SQLite数据库中。
这是我的代码:
import pandas as pd
import pandas.io.sql as pd_sql
import sqlite3 as sql3
import psycopg2
#Aquire Data FROM PostgreSQL DB
conn_pg = psycopg2.connect("dbname='xx' user='xxxxx' host=xxx.xxx.xx.xxx password='xxxx'");
sql_1='SELECT * FROM table1 limit 5'
df_1=pd_sql.read_frame(sql_1,conn_pg)
conn_pg.close()
#Insert Into sqlite3 DB
conn_sqlite=sql3.connect('/xxxx/xxxx/xxxx/xxxx/my_db.db')
pd_sql.write_frame(df_1,'table1',conn_sqlite,'sqlite',if_exists='replace')
conn_sqlite.close()
df_1有如下类型:
field1 字符串
field2 日期时间
field3 浮点数
field4 字符串
dtype: object
我遇到了一个错误:
InterfaceError: Error binding parameter 1 - probably unsupported type.
关于:
pd_sql.write_frame(df_1,'table1',conn_sqlite,'sqlite',if_exists='replace')
我猜测sqlite不支持field2的datetime64类型。我需要帮助确定:
1. 我应该将field2转换为哪种日期类型?
2. 如何在pandas DataFrame中完成此操作?
非常感谢您的帮助。
谢谢!