我有一个这样的词典列表:
[{'cx_agent': 'samir', 'supervisor': 'karim', 'convo_link': 'test', 'date_of_conversation': '11/01/2001', 'quality_agent': ''}, {'cx_agent': 'farah', 'supervisor': 'kazem', 'convo_link': 'test', 'date_of_conversation': '10/01/2002', 'quality_agent': ''}, {'cx_agent': 'captain', 'supervisor': 'ahmed', 'convo_link': 'helmy', 'date_of_conversation': '10/01/2003', 'quality_agent': ''}]
我想将其添加到此数据库中
class Base(DeclarativeBase):
pass
#Initialize Database
db=SQLAlchemy(model_class=Base)
migrate = Migrate(app, db)
class Auditing(db.Model):
id: Mapped[int] = mapped_column(Integer, primary_key=True)
cx_agent: Mapped[str]= mapped_column(String,nullable=False)
supervisor: Mapped[str] = mapped_column(String,nullable=False)
convo_link: Mapped[str] = mapped_column(String,nullable=False)
quality_agent: Mapped[str]=mapped_column(String,nullable=True)
date_of_conversation: Mapped[Date]= mapped_column(Date,nullable=False)
我正在尝试使用此代码,但它不起作用
import gspread
import pandas as db
sa= gspread.service_account(filename="Keys.json")
sh= sa.open("Quality Auditing Queue")
wks=sh.worksheet("Queue")
queue= wks.get_all_records()
stmt=insert(Auditing).values(queue)
Session.bulk_insert_mappings(Auditing,queue)
队列 = 字典
我找到了一种方法来解决这个问题,方法是在队列中进行循环并将结果添加到另一个字典中,然后调用添加和提交
for dict in queue:
new_dict = Auditing(id=dict["id"],cx_agent=dict['cx_agent'] ,supervisor=dict["supervisor"],convo_link=dict['convo_link'],date_of_conversation=dict['date_of_conversation'],quality_agent=dict['quality_agent'])
db.session.add(new_dict)
db.session.commit()
return redirect(url_for('add_chats'))