python - 截断表并将数据帧插入 SQL,仅当数据帧可以成功插入时
问题描述
我需要截断一个 SQL 表,然后插入一个 pandas 数据框。我的问题是,有时我遇到边缘情况并且表将被截断,但数据框将在数据库中的不可空字段中具有空值......这导致我的表被截断但没有新数据被插入。
仅当我的数据框是“可插入的”时,如何截断表?
sql_engine = sqlalchemy.create_engine('sql_connection_string')
sql_engine.execute(sqlalchemy.text('TRUNCATE TABLE dbo.customers').execution_options(autocommit=True))
df.to_sql('customers', sql_engine, schema='dbo', if_exists='append', index=False)
我尝试使用if_exists='replace'
而不是截断,但这会删除表并创建一个新模式
解决方案
推荐阅读
- ios - Flutter 是否支持播放 iPhone 的 AES128 加密 HLS 播放列表
- javascript - Javascript将数组推送到具有唯一键的数组
- python - 使用海龟图形在 Python 中使用 OOP 创建海龟
- swift - 使用 HealthKit 卡在完成处理程序/调度组
- java - 使用 LinkedList 和 ListIterator 按字母顺序返回元素
- unity3d - 错误 CS1729:“Vector3”不包含采用 1 个参数的构造函数
- tensorflow - 自定义 TF2 模型保存
- javascript - React 和 Nodemailer 的联系表在部署到 Heroku 时不起作用
- flutter - 如何解决颤振错误(操作系统错误:访问被拒绝,errno = 5)?
- ios - 错误:不支持将桥接头与模块接口一起使用