当从pandas数据框架导入数据到SQL Server时,忽略错误的最佳方法是什么?



我正在编写一个python脚本,用于每天从遗留系统的数据转储中导入数据。我想导入数据,只是跳过抛出错误的行(例如错误的数据类型)。实现这一目标的最佳方式是什么?

我的当前代码:

engine = sqlalchemy.create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)
conn = engine.connect()
df = pd.read_csv(file_path)
df.to_sql(tbl_name,conn,if_exists="append",index=False)

该文件相当大,所以我不希望像在一些示例中看到的那样遍历行。

df.to_sql不应该在默认情况下忽略这些吗?我以为是这样的。如果没有,只需设置一个try catch例程。

try:
engine = sqlalchemy.create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)
conn = engine.connect()
df = pd.read_csv(file_path)
df.to_sql(tbl_name,conn,if_exists="append",index=False)
catch:
print('en erro was detected; please check...')