电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

解決python 使用openpyxl讀寫大文件的坑

瀏覽:4日期:2022-06-25 09:29:35

由于需要處理xlsx類型的文件,我使用了openpyxl來處理,然而文件比較大,大約有60多MB。讀文件的時候雖然慢了一點,但還是能夠讀出來,但是當我想寫入時卻報錯了。

解決python 使用openpyxl讀寫大文件的坑

顯示設備沒有多余的空間,百度了一下,發現有不少關于openpyxl讀寫大文件的問題。總結來看,解決方案主要有以下兩種,當然,我兩種都用上了。

手動釋放內存

del wb, wsgc.collect()

這一招還算有用,在讀完文件后可以看到內存占用明顯下降了一點。

安裝lxml

使用命令·pip install lxml安裝依賴

這個依賴并非必須安裝的依賴,但是可以使openpyxl流式處理數據。

總之使用了以上兩種方案后,終于可以成功處理數據了。

補充:openpyxl讀取大文件的若干問題

需要編寫一個EXCEL文件對比工具

excel文件通常8MB,300張左右的表,每張表實際范圍為ZZ500.

使用openpyxl對表格進行遍歷,完成兩個表之間的對比,找出公式不相同的單元格編程中遇到若干問題

1、讀取時報錯,錯誤代碼忘記了,原因是通過數組的方式讀取了一個不存在的數值

如 SS[’AA’],這個數值沒有定義,因此報錯(PHP直接返回空值),使用SS.get(’AA’,null)進行修改

D:Python34Libsite-packagesopenpyxlreaderstyle.py

164: format_code = builtin_formats.get(numFmtId,’General’)2、讀取時內存占用過大

基本就是內存占用了2G以上以后,程序就不動了,原因是某些表格的表格范圍識別的非常大,最大可為ZZ65535

通過研究,代碼進行了如下修改

1:使用X64版本,X64版本在運行時,可以運行4G以內內存占用的程序,比2G大一倍,能夠完成大部分表格的讀取,如ZZ5000,但是遇到ZZ65535范圍的表格,內存占用達到了4G+,也會導致程序停止運行.

2:限制最大單元格遍歷范圍,最大限制為ZZ5000,能夠有效降低內存占用

3:定時重新讀取EXCEL文件(如每對比30張表),釋放內存,(Python內存釋放真的很痛苦,全部是指針引用,A=B,DEL A;是不會釋放空間的,要DEL B才行).

4:雖然openpyxl讀取文件時有個只讀模式(性能模式),但是速度實在是太慢了.

通過代碼修改,現在完成文件對比所用的內存通常在2G以內

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 天津热油泵_管道泵_天津高温热油泵-天津市金丰泰机械泵业有限公司【官方网站】 | 船用锚链|专业锚链生产厂家|安徽亚太锚链制造有限公司 | 超声波破碎仪-均质乳化机(供应杭州,上海,北京,广州,深圳,成都等地)-上海沪析实业有限公司 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 冲锋衣滑雪服厂家-冲锋衣定制工厂-滑雪服加工厂-广东睿牛户外(S-GERT) | 挖掘机挖斗和铲斗生产厂家选择徐州崛起机械制造有限公司 | 生产自动包装秤_颗粒包装秤_肥料包装秤等包装机械-郑州鑫晟重工科技有限公司 | 安全,主动,被动,柔性,山体滑坡,sns,钢丝绳,边坡,防护网,护栏网,围栏,栏杆,栅栏,厂家 - 护栏网防护网生产厂家 | 罗茨真空机组,立式无油往复真空泵,2BV水环真空泵-力侨真空科技 | 岩棉切条机厂家_玻璃棉裁条机_水泥基保温板设备-廊坊鹏恒机械 | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 | ★店家乐|服装销售管理软件|服装店收银系统|内衣店鞋店进销存软件|连锁店管理软件|收银软件手机版|会员管理系统-手机版,云版,App | H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 引领中高档酒店加盟_含舍·美素酒店品牌官网 | 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 | 庭院灯_太阳能景观灯_草坪灯厂家_仿古壁灯-重庆恒投科技 | 生态板-实木生态板-生态板厂家-源木原作生态板品牌-深圳市方舟木业有限公司 | 颚式破碎机,圆锥破碎机,制砂机-新乡市德诚机电制造有限公司 | 3A别墅漆/3A环保漆_广东美涂士建材股份有限公司【官网】 | 两头忙,井下装载机,伸缩臂装载机,30装载机/铲车,50装载机/铲车厂家_价格-莱州巨浪机械有限公司 | 机床导轨_导轨板_滚轮导轨-上海旻佑精密机械有限公司 | HDPE储罐_厂家-山东九州阿丽贝防腐设备 | 电地暖-电采暖-发热膜-石墨烯电热膜品牌加盟-暖季地暖厂家 | 上海网站建设-上海网站制作-上海网站设计-上海做网站公司-咏熠软件 | 房车价格_依维柯/大通/东风御风/福特全顺/江铃图片_云梯搬家车厂家-程力专用汽车股份有限公司 | 品牌设计_VI设计_电影海报设计_包装设计_LOGO设计-Bacross新越品牌顾问 | 云南丰泰挖掘机修理厂-挖掘机维修,翻新,再制造的大型企业-云南丰泰工程机械维修有限公司 | 出国劳务公司_正规派遣公司[严海] | 宁夏活性炭_防护活性炭_催化剂载体炭-宁夏恒辉活性炭有限公司 | 海鲜池-专注海鲜鱼缸、移动海鲜缸、饭店鱼缸设计定做-日晟水族厂家 | 肉嫩度仪-凝胶测试仪-国产质构仪-气味分析仪-上海保圣实业发展有限公司|总部 | 手术室净化厂家_成都实验室装修公司_无尘车间施工单位_洁净室工程建设团队-四川华锐16年行业经验 | 彩超机-黑白B超机-便携兽用B超机-多普勒彩超机价格「大为彩超」厂家 | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | 东莞精密模具加工,精密连接器模具零件,自動機零件,冶工具加工-益久精密 | 影视模板素材_原创专业影视实拍视频素材-8k像素素材网 | 诺冠气动元件,诺冠电磁阀,海隆防爆阀,norgren气缸-山东锦隆自动化科技有限公司 | 发光字|标识设计|标牌制作|精神堡垒 - 江苏苏通广告有限公司 | 袋式过滤器,自清洗过滤器,保安过滤器,篮式过滤器,气体过滤器,全自动过滤器,反冲洗过滤器,管道过滤器,无锡驰业环保科技有限公司 | 全钢实验台,实验室工作台厂家-无锡市辰之航装饰材料有限公司 | RO反渗透设备_厂家_价格_河南郑州江宇环保科技有限公司 |