如何解决进度条和pyodbc
我正在使用pyodbc导入sql服务器。我正在尝试使用tqdm添加进度条,尽管我可以成功地将进度条显示在控制台上,但是当我将tqdm插入内联for循环中时,它会立即从0%变为100%。我认为这是因为执行sql实际上并不需要花费很多时间,但是将其提交到服务器却需要花费很多时间。有没有一种方法可以查看进度条,该进度条随着脚本在主要的for循环中移动而逐渐更新?
for file_name in file_names:
with open(file_name,mode="rt",encoding="windows-1252",newline="") as csv_file:
reader = csv.DictReader(csv_file)
data = [row for row in reader]
# BUILD SQL WITH [...] ESCAPED COLUMNS AND ? PARAM PLACEHOLDERS
sql = "INSERT INTO TEST.dbo.["+table_choice+"] ([{cols}]) VALUES ({prms})"
sql = sql.format(cols="],[".join(map(lambda x: x.strip(),data[0].keys())),prms=",".join(['?'] * len(data[0])))
# APPEND ALL ROWS AND BIND PARAMS
my_cursor.executemany(sql,[list(d.values()) for d in data])
cnxn.commit()
编辑:将tqdm插入主要的for循环中是做同样的事情,从0%跳到100%花费的时间更长。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。