python pandas excel 慢_使用Python、Pandas和openpyx时,小Excel电子表格加载速度非常慢...
我有一个程序,它从Excel电子表格(一个小的表格:大约10张表格,每张表格约100个单元格)中读取一些数据,进行一些计算,然后将输出写入电子表格中的单元格。在
程序运行得很快,直到我修改后把它的输出写入与读取输入相同的Excel文件。以前我生成一个新的电子表格,然后手动将输出复制到原始文件中。在
修改之后,脚本的运行时间从几秒钟跳到大约7分钟。我运行cProfile进行调查,得到以下输出,按累计运行时间排序:ncalls tottime percall cumtime percall filename:lineno(function)
1 0.001 0.001 440.918 440.918 xlsx_transport_calc.py:1()
1 0.000 0.000 437.926 437.926 excel.py:76(load_workbook)
1 0.000 0.000 437.924 437.924 excel.py:161(_load_workbook)
9 0.000 0.000 437.911 48.657 worksheet.py:302(read_worksheet)
9 0.000 0.000 437.907 48.656 worksheet.py:296(fast_parse)
9 0.065 0.007 437.906 48.656 worksheet.py:61(parse)
9225 45.736 0.005 437.718 0.047 worksheet.py:150(parse_column_dimensions)
9292454 80.960 0.000 391.640 0.000 functools.py:105(wrapper)
9292437 62.181 0.000 116.213 0.000 cell.py:94(get_column_letter)
18585439 20.881 0.000 98.832 0.000 threading.py:214(__exit__)
18585443 58.912 0.000 86.641 0.000 threading.py:146(acquire)
18585443 56.600 0.000 77.951 0.000 threading.py:186(release)
9293461/9293452 22.317 0.000 22.319 0.000 {method 'join' of 'str' objects}
37170887 15.795 0.000 15.795 0.000 threading.py:63(_note)
21406059 13.460 0.000 13.460 0.000 {divmod}
37170888 12.853 0.000 12.853 0.000 {thread.get_ident}
18585447 12.589 0.000 12.589 0.000 {method 'acquire' of 'thread.lock' objects}
21408493 9.948 0.000 9.948 0.000 {chr}
21441151 8.323 0.000 8.323 0.000 {method 'append' of 'list' objects}
18585446 7.843 0.000 7.843 0.000 {method 'release' of 'thread.lock' objects}
...
...
...
脚本中的相关代码:
^{pr2}$
因此根据cProfile输出,罪魁祸首出现在对load_workbook的调用中。除此之外,我有点困惑。为什么对parse_column_dimensions的调用有9000个,对各种线程函数的调用有1800万个?和900万次呼叫get_column_letter?在
这是我第一次分析任何python脚本,所以我不确定这个输出是否正常。。。它似乎有一些奇怪的部分。在
有人能解释一下这里可能发生的事情吗?在
python pandas excel 慢_使用Python、Pandas和openpyx时,小Excel电子表格加载速度非常慢...相关推荐
- python截长图_利用 Python + Selenium 实现对页面的指定元素截图(可截长图元素)
对WebElement截图 WebDriver.Chrome自带的方法只能对当前窗口截屏,且不能指定特定元素.若是需要截取特定元素或是窗口超过了一屏,就只能另辟蹊径了. WebDriver.Phant ...
- nuxt解决首屏加载慢问题_一个 Node 脚本让你的前端项目加载速度飞起来
写在最前面 我的原创什么声明变成什么鬼了-- 前言 随着前端三大框架的盛行,越来越多的前后端分离项目在服务器上跑了起来,随之而来,开发者也慢慢发现了这种开发模式所带来的弊端,其中之一就是首屏加载速度特 ...
- vue按需加载组件_微人事首页加载速度提高了 5 倍,我都做了什么?
「本文之前发过,但是比较零散,这里我把用到的方案都汇总一下,方便大家索引,有需要的小伙伴可以收藏下方便查找.里边提到的几种方案,大家都可以对照着视频试一下」 ElementUI 按需加载: 服务端开启 ...
- python按某列拆分excel表格_利用Python+Pandas实现从一个excel表中提取列形成新表
简要 利用python实现把一个工作表中的某些列,和其中单独的一列,提取成为一个个新表. 如图(处理前)蓝色部分是需要保留的列,红色是需要一项一项分出来作为单独表格的列. 其中,第一行的名字是用的回车 ...
- python制作表格处理_使用python处理excel表格——pandas(1)
这里写目录标题 一.基本概念 二.内容 1.创建文件 A.创建空表格 B.创建非空表格 2.读取文件 A.读取整个表格 (1)读取有多个sheet的excel (2).title在首行 (3)titl ...
- pandas如何保存在excel里面_你好Python!再见Excel?
现在很多行业,都离不开Excel: 做财务的,要用Excel做报表: 做物流的,会用Excel来跟踪订单情况: 做HR的,会用Excel算工资: 做运营的,会用Excel记录数据做分析. 不知道你有没 ...
- python移动平均线绘图_对python pandas 画移动平均线的方法详解
数据文件 66001_.txt 内容格式: date,jz0,jz1,jz2,jz3,jz4,jz5 2012-12-28,0.9326,0.8835,1.0289,1.0027,1.1067,1.0 ...
- python图片显示中文_解决Python pandas plot输出图形中显示中文乱码问题
解决方式一: import matplotlib #1. 获取matplotlibrc文件所在路径 matplotlib.matplotlib_fname() #Out[3]: u'd:\\Anaco ...
- excel去重_你好Python!再见Excel?
现在很多行业,都离不开Excel: 做财务的,要用Excel做报表: 做物流的,会用Excel来跟踪订单情况: 做HR的,会用Excel算工资: 做运营的,会用Excel记录数据做分析. 不知道你有没 ...
- python与excel互通_【python】python vs Excel ( 与mysql数据库之间的交互)
[python]python vs Excel ( 与mysql数据库之间的交互) 通过python与mysql数据库做交互 到目前为止大部分案例的演示数据都是基于文件进行读取的.那么python如何 ...
最新文章
- 10年磨一剑,软件编程走火入魔之:把简单的功能做个彻彻底底、把劳动成果重复利用...
- Kotlin极简教程:第5章 集合类
- C#中使用Directory实现对文件夹的常用操作
- OpenGL创建多维数据集的多个实例
- 计算机操作系统超全详解
- 华为云内容审核—性能更加狂野,价格更加腼腆
- ASP.NET Web API 2 中的属性路由使用(转载)
- 贝塔智能挪车V2.3.4汽车微信小程序 多开版源码
- 微型计算机原理及应用吴宁课后答案,微机原理及应用(吴宁) 习题答案chapter7(4页)-原创力文档...
- SecureCRT/FX的破解软件注册机被系统自动删除解决办法
- 网页flash遮挡问题
- 保护你的隐私,五种控制Android应用的权限的方法
- 可靠数据传输(rdt)实现的底层原理
- Android https证书过期,Android 的 HTTPS 证书过期异常
- 零基础学平面设计是自学好还是报班好?
- javacv 视频转换
- 预解释是一种毫无节操的机制(1-1-4)
- 2012年度IT博客大赛50强报道:陈裕强
- 面试官:说说react的渲染过程
- 真正的不需注册不需购买不需花钱的数据恢复软件