python操作EXCEL为什么这么慢
最近初学Python,主要是看中他宣传中的强大的数据处理分析能力去的今天正好有一个需求,试着写一下,发现运行巨慢,慢到令人发指,手工操作都会快几倍不止。
请大佬帮忙分析一下问题出在哪?
1、我的需求:一个EXCEL有几张表,我想把每个表的表头提取出来另存一个EXCEL文件,先说明,这个文件比较大,工作表12个,但是每个表大概60000*40数据
2、我的代码如下:
import pandas as pd
import xlwings as xw
file_name = r'D:\物料收发日报表合并表.xlsx'
df2 = pd.DataFrame(columns=['序号'])
app = xw.App(visible=False, add_book=False)
workbook = app.books.open(file_name)
worksheet = workbook.sheets
for i in worksheet:
df1 = pd.read_excel(file_name, header=0, nrows=1, index_col=False, sheet_name=i.name)
df2.insert(1, i.name, list(df1.columns))
df2.to_excel(r'D:\物料收发日报表合并表-字段.xlsx', sheet_name='列名')
请大佬帮分析,到底是啥问题导致 好像调用office组件访问excel,不管用啥都慢 运行了快一个小时,哎。做为小白的我太难一
你的电脑配置你是半点不提啊{:301_1007:}
I7 8G
Thinkad i7 8G内存,应该还算过得去啊1、电脑配置问题
2、库太大 可以用from 导入某需要用的函数
3、OFFICE兼容问题?
以上,小白勿喷 用py处理Excel就是炫技的,实用性不大 本帖最后由 Leskur 于 2020-11-25 09:58 编辑
你可以先注释下其他代码,测试下 pandas 的读取速度,排除问题所在。 其实这里不是很推荐用pandas做这种处理,这里更推荐用python的excel相关库,pandas处理数据迅速主要是底层实现是numpy,numpy是用C写的,所以执行效率高,但是我个人觉得啊,numpy和pandas不是非常适合处理excel内容。比如xlwings、xlrd、xlwt等等,这些excel专用库可能更加符合你的需求。Google搜一下excel相关的python库吧。 不会啊 我之前自己写过一个处理速度还可以啊 主要是代替人工