所以我有一个从 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 表。有什么想法吗?
最佳答案
我认为您正在使用 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
资源:
关于python - 将 pandas 数据框插入 SQLite 表/使用数据框更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53189071/