我想弄清楚哪一个类似的任务通常更快:使用VBA或openpyxl。效率:openpyxl还是VBA?
我知道这可能取决于你想要达到的任务,但让我们说我有一个表,它是50个单元宽和150,000个细胞高,我想将它从woorkbook一份给工作簿B.
任何关于python是否会做得更好,或者如果Excel更擅长处理自己的想法?
我的胆量告诉我,蟒蛇应该是相当快因为某些原因:
- 为了让子从一个工作簿复制到另一台,都应该是开放和运行,而用蟒蛇我可以简单地加载两者;
- VBA必须处理很多与大多数任务杂乱的,它需要的系统资源的大量
除此之外,我想知道如果我可以做一些进一步改善的openpyxl脚本,像多线程或可能使用NumPy一起。
感谢您的帮助!
回答你的问题最简单的方法是两种方法。无需猜测。 “VBA必须处理大部分任务中的大量混乱,并且需要很多系统资源” - 这是基于什么? –
我不是最有经验的VBA编程人员,但是从我的经验和我所知道的,使VBA高效是一项非常艰巨的任务,而且经常在管理大量数据时变得非常慢。另外,我开始用这两种资源编写这个例程,在VBA的情况下,我需要打开两个电子表格,每次需要处理另一个时,我必须激活它们,它立即刷新,等等,等等。 –
我会说如果您没有经验,那么使VBA *效率低下是绝对有可能的,但是对于任何语言来说,这都可能是相同的。从性能角度来看,VBA有一大优势,那就是它的运行方式与Excel相同,所以不会有与从VBA中自动执行Excel相关的跨进程开销:如果您需要进行大量的调用,这会变得非常重要来自另一个进程的Excel。尽可能地使用数组而不是逐个单元格可以帮助尽量减少这种情况,但这绝对是一个因素。 –