文章详情页
python3.x - 求助python下高效且支持大数据量的database2excel方案
浏览:77日期:2022-09-02 14:05:47
问题描述
大家好。小弟目前需要一个速度较好,且支持大数据量的数据库导出至excel(xlsx)的方案小弟的机器配置不高,4核的CPU,可用内存在8G左右(不过是虚拟机,可能性能实际还要低一点)小弟之前尝试过以下几种方案openpyxl:大数据量情况下经常会吃光内存。实验生成100W条/每条6个字段的数据,经常会把小弟这8G内存吃满。生成excel时间大概在10分钟~11分钟左右pyexcel_xlsx:貌似这部分引用的还是openpyxl的东东…不过貌似有一定的优化,生成生成100W条/每条6个字段的数据,消耗内存近3G,时间在8分半左右
这两个方案效率都非常低,而且小弟目前都没有找到中途将内存写入文件的方法…
请各位大大指点,是否还有其他的方案,最好是能够控制单次写入条数,例如每写入5W条,进行一次提交,将内存的东东写在文件中并释放内存,再继续写入这样的。(这样也许可以考虑配合多线程来进行并行写入,加快效率…)谢谢各位了
问题解答
回答1:pandas有分块读取的功能,关键词chunksizedf = pd.read_csv('xxxx',chunksize=10000)可以去研究下文档:http://pandas.pydata.org/pand...
标签:
python
相关文章:
1. 在mac下出现了两个docker环境2. c++ - win764位环境下,我用GCC为什么指针占8个字节,而long是4个字节?3. angular.js - angularjs的自定义过滤器如何给文字加颜色?4. java - Hibernate查询的数据是存放在session中吗?5. angular.js - angularjs 使用鼠标悬停时,标签一直闪6. 我在centos容器里安装docker,也就是在容器里安装容器,报错了?7. 一个走错路的23岁傻小子的提问8. java - 安卓电视盒子取得了root权限但是不能安装第三方应用,请问该怎么办?9. python - django 里自定义的 login 方法,如何使用 login_required()10. python 计算两个时间相差的分钟数,超过一天时计算不对
排行榜
