excel文件有1万条记录,每条30个字段,
遍历第一次,不符合条件的删除sheet.api.Rows(i).Delete(),遍历第二次,符合新条件的拷贝到新的工作簿sheet.range((j, 1), (j, max_col)).copy(destination=sheet2.range(sheet2.used_range.rows.count+1, 1)) ,然后删除。
运行巨慢,需要数分钟,目前能做到的只是停止数据刷新app.screen_updating = False
哪里出了问题?如何改进?
建议你第一次读取把数据存入列表,然后用一个创建一个迭代器对象进行循环删除,再重新写入,第一次循环完了列表多余项删除,然后再用新条件写入第二个表格,可以一行一行用offset写入。用time模块测一下看看速度瓶颈在哪,优化一下。xlwings最好不要开界面,isible=False
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!