【发布时间】:2023-03-27 01:20:01
【问题描述】:
我试图让 Python 通过清理 csv 文件来填充 SQL 表,然后在 SQL 中进行批量上传。当我尝试按以下方式执行插入时:
sqlCommand = "BULK INSERT ? FROM ? WITH ( BATCHSIZE = 1000, ROWTERMINATOR = '\\n', KEEPNULL )"
cursor.execute(sqlCommand,tableName,fileName)
我收到以下错误:“@P1”附近的语法不正确。 (102) (SQLExecDirectW);
但是,如果我这样做:
"BULK INSERT {0} FROM {1} WITH ( BATCHSIZE = 1000, ROWTERMINATOR = '\\n', KEEPNULLS )".format(tableName,fileName)
cursor.execute(sqlCommand)
效果很好。
有没有更好的方法让它工作?
【问题讨论】:
-
谢谢,我没有意识到你不能参数化表名。