我必须为多行运行更新语句,但我必须确保在更新之前对值进行格式化(没有科学表示法(,而不是直接使用浮点值。
updatesql = " update table set [fieldname] = ? where dt = ?"
data = (outputData.reindex( ['col1', 'col2'],axis='columns').to_numpy())
updatecursor.executemany(updatesql, data.tolist())
sql_conn.commit()
除了浮点值的格式不正确之外,上面的代码是有效的。有没有一种方法可以在使用参数化查询的同时格式化值?
可以使用以下方法解决。
def shortenlength(numberToShorten):
limited_float = "{:.15f}".format(numberToShorten)
return limited_float
outputData['col1'] = outputData['col1'] .apply(shortenlength)