关于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对数据进行进一步探索分析效率。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐