openpyxl和pandas简单比对

本文对比了Python中pandas和openpyxl在处理Excel数据时的读取效率和数据整理能力。在读取83*20的稀疏矩阵数据集时,openpyxl表现出更高的效率。pandas虽然适合数据探索和转换,但在面对复杂表格结构时,openpyxl的预处理更便捷。建议先用openpyxl整理数据,再用pandas进行深入分析。
摘要由CSDN通过智能技术生成

        关于Excel数据处理,Pyhton有pandas库和openpyxl、xlwings 模块模块可以对Excel数据进行处理,下面对pandas和openpyxl处理数据进行简单比对。

 1、读取效率

       我们采用83*20的数据集(该数据集为稀疏矩阵)进行读取数据的耗时统计。

  pandas代码如下:

 

import time
import numpy as np
import pandas as pd
start_time = time.time()
wb = pd.read_excel('C:/Users/.../职协/职协招新/9_扫楼总工作表(1).xlsx')
print(wb)
end_time = time.time()
print(end_time - start_time)

 结果为:

       openpyxl代码如下:

# 导入模块,查看属性
import openpyxl
root_path = 'C:/Users/10692/Desktop/职协/职协招新/'
wb = openpyxl.load_workbook(root_path + '9_扫楼总工作表(1).xlsx')
import time
start_time = time.time()

sheet = wb.active
for column in sheet.columns:
    for cell in column:
        print(cell.value, end=', ')
    print()

end_time = time.time()
print(end_time - start_time)

结果为:

可见在读取方面, openpyxl效率会更快一些。

2、数据整理

      pandas读取数据是从头开始,从单元格A1开始连续读取表格,若首行存在缺失值则该位置的标题表头就会变成Unnamed:i (i=1,2...n)

      pandas可以轻松地读取和转换Excel数据,但是面对杂乱的表格结构,分散在不同工作表的数据或是范围性数值的数据(如数值为'5-7'),以及表格中分布很乱时,直接使用pandas进行数据清洗相对比较吃力。这时使用openpyxl先对数据简单整理会更为方便。 

     但是进一步对数据进行探索分析,openpyxl并无法做到,需要pandas对数据进行探索分析。所以,对于数据我们可以先利用openpyxl对数据简单整理再利用pandas对数据进行进一步探索分析效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值