moker 发表于 2020-11-25 09:35

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='列名')

请大佬帮分析,到底是啥问题导致

HC老杨 发表于 2020-11-25 09:41

好像调用office组件访问excel,不管用啥都慢

moker 发表于 2020-11-25 09:42

运行了快一个小时,哎。做为小白的我太难一

君如兰 发表于 2020-11-25 09:42

你的电脑配置你是半点不提啊{:301_1007:}   

moker 发表于 2020-11-25 09:48

I7 8G

Thinkad i7 8G内存,应该还算过得去啊

小恐龙 发表于 2020-11-25 09:50

1、电脑配置问题
2、库太大 可以用from 导入某需要用的函数
3、OFFICE兼容问题?

以上,小白勿喷

zucker 发表于 2020-11-25 09:51

用py处理Excel就是炫技的,实用性不大

Leskur 发表于 2020-11-25 09:53

本帖最后由 Leskur 于 2020-11-25 09:58 编辑

你可以先注释下其他代码,测试下 pandas 的读取速度,排除问题所在。

Johan_000 发表于 2020-11-25 09:55

其实这里不是很推荐用pandas做这种处理,这里更推荐用python的excel相关库,pandas处理数据迅速主要是底层实现是numpy,numpy是用C写的,所以执行效率高,但是我个人觉得啊,numpy和pandas不是非常适合处理excel内容。比如xlwings、xlrd、xlwt等等,这些excel专用库可能更加符合你的需求。Google搜一下excel相关的python库吧。

唔爱破解 发表于 2020-11-25 09:55

不会啊   我之前自己写过一个处理速度还可以啊   主要是代替人工
页: [1] 2 3 4
查看完整版本: python操作EXCEL为什么这么慢