将熊猫数据框插入到SQLite表中

时间:2018-11-07 12:00:56

标签: python sql pandas sqlite dataframe

所以我有一个从excel导入的数据框和一个带有匹配列的SQL表。到目前为止,我一直在使用列作为列表更新表:

Schedule_Frame = DataFrame(Sheet_Schedule)

Column_ID=Schedule_Frame['ID']

Column_list=list(Column_ID)


for i in range(len(Column_list)):

miCursor.execute("UPDATE SCHEDULE SET ID=? WHERE rowid=?",(Column_list[i],i))

但是,由于我在SQLite中拥有一个与我的数据框列相匹配的表,所以我确信有一种方法可以使用我的框架来更新整个SQLite表。

有什么想法怎么做?

非常感谢!

1 个答案:

答案 0 :(得分:2)

我认为您正在使用sqlite3包来访问SQLite数据库。如何使用SQLAlchemy(与Pandas的数据结构配合得很好)访问数据库?

from sqlalchemy import create_engine
engine = create_engine('sqlite://<replace_this_with_path_to_db_file>', echo=False)

然后做:

Schedule_Frame.to_sql('SCHEDULE', con=engine, if_exists='append')

修改:示例代码

from sqlalchemy import create_engine
import pandas as pd

engine = sqlalchemy.create_engine('sqlite:///my.db', echo=False)
df = pd.DataFrame([[1,2],[1,2]], columns=['a', 'b'])

df.to_sql('mytable', con=engine, if_exists='append')

在sqlite3 CLI中:

sqlite> select * from 'mytable';
0|1|2
1|1|2

资源: