本篇文章给大家谈谈python如何处理数据量很大的excel文件,以及用python处理大量的excel表格,希望对各位有所帮助,不要忘了收藏本站喔。
前段时间做一个项目,却不得不使用Python直接生成Excel文件,后来随着需求的变化,还要对已有的Excel文件进行读取。在这个过程中,研究并尝试了一些工具,也走了一些弯路python弧形7段数码管绘制。记录下来,下次再有类似需求的时候就不用漫天遍野地搜索了。
超级无敌大PK
我主要尝试了四种工具,在此并不会给出他们的排名,因为在不同的应用场景下,做出的选择会不同。
XlsxWriter
XlsxWriter是我最终选择的用于写操作的工具。顾名思义,它只能用来写文件。
这应该是个比较新的项目,在GitHub上看它最早的提交是在2013年1月份。其官方文档中宣称它支持:
优点
一、功能比较强
相对而言,这是除Excel自身之外功能最强的工具了。比如我就用到了它提供的:字体设置、前景色背景色、border设置、视图缩放(zoom)、单元格合并、autofilter、freeze panes、公式、data validation、单元格注释、行高和列宽设置等等。
最让我惊奇的是,用它生成的带有单元格注释的Excel文件,不论是Excel 2007还是Excel 2013都可正常打开(下面会提到,这个任务用Excel自身都无法完成)。
二、支持大文件写入
如果数据量非常大,可以启用constant memory模式,这是一种顺序写入模式,得到一行数据就立刻写入一行,而不会把所有的数据都保持在内存中。
缺点
一、不支持读取和修改
作者并没有打算做一个XlsxReader来提供读取操作。不能读取,也就无从修改了。它只能用来创建新的文件。我是利用xlrd