最后更新于
最后更新于
在使用pandas处理规模较大的数据时, 最后得到的DataFrame
需要持久化为文件. 如果直接保存为.csv
, .json
这种存文本的文件, 最后得到的文件大小会很大.
如果最后得到的文件不是经常使用, 只是为了存储, 文件的大小就是我们要重点考虑的问题. 保存为存文本文件后压缩, 固然是一种方法, 但多了压缩以及使用时解压缩的步骤, 相当麻烦.
Excel表格对应的.xlsx
格式存储的内容就是经过压缩的, 占用的体积会小很多. 因此保存为.xlsx
格式是一个很好的选择.
要注意, .xlsx格式经过压缩后保存的体积小, 但读取时需要有对应的解压缩过程. 包含同样内容的.csv文件读取速度会比.xlsx快很多. 使用哪种格式, 要在速度和大小之间进行取舍.
但如果要保存的DataFrame
很大, 直接使用.to_excel()
方法会报如下的错误:
保存为.xlsx
格式会调用ZipFile
工具进行压缩. 当要存储的表格占用的原始大小超过4GB时, 需要在ZipFile
工具初始化得时候指定allowZip64
参数为True
. 但默认的初始化时False
, 因此会出现报错问题.
手动指定保存使用的Writer.