我正在编写一个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...')