python处理excel数据书籍,python处理excel数据脚本

大家好,给大家分享一下python处理excel数据去除a列中含b列的内容,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

在这里插入图片描述

前言

成堆的数据如何导入Excel进行分析?

大量的表格等待统计?

作为人生苦短的Python程序员,改如何优雅地操作Excel?

得益于各位开源大佬的贡献,Python处理Excel拥有众多的库,使用它们我们就直接能批量处理Excel标的。使用的比较多的有:

  • xlwings
  • openpyxl
  • pandas
  • win32com
  • xlsxwriter
  • DataNitro
  • xlutils

环境配置:

再好的库,也需要在正确的Python版本与环境中才能运行

在这里插入图片描述
上图标题栏是对应的环境,左侧是包名python绘制弧形的函数。各位可以参考一下,记得别安装错了。

xlutils 仅支持 xls 文件,即2003以下版本;

openpyxl 主要是用于助理2010版本。即使文件库中没有安装office也能自动生成excel表格。

win32com 与 DataNitro 仅支持 windows 系统;

xlwings 安装成功后,如果运行提示报错“ImportError: no module named win32api”,

请使用 pip install pywin32 指令安装win32模块

win32com 不是独立的扩展库,而是集成在其他库中,安装 pypiwin32 或者 pywin32 包即可使用;

DataNitro 是 Excel 的插件,安装需到官网下载。

文档操作:

虽然大家都是操作 Excel,但即使最基本的新建文件、修改文件、保存文件等功能,在不同的库中也存在差异。比如 xlsxwriter 并不支持打开或修改现有文件,xlwings 不支持对新建文件的命名,DataNitro 作为 Excel 插件需依托于软件本身,pandas 新建文档需要依赖其他库等等。

在这里插入图片描述
上图是各个库包支持的功能,在编码之前记得看一下你需要的功能是否支持。

基本功能

由于设计目的不同,每个模块通常着重于某一方面功能,各有所长。

xlwings

可结合 VBA 实现对 Excel 编程,强大的数据输入分析能力,同时拥有丰富的接口,结合 pandas/numpy/matplotlib 轻松应对 Excel 数据处理工作。

openpyxl

简单易用,功能广泛,单元格格式/图片/表格/公式/筛选/批注/文件保护等等功能应有尽有,图表功能是其一大亮点,缺点是对 VBA 支持的不够好。

pandas

数据处理是 pandas 的立身之本,Excel 作为 pandas 输入/输出数据的容器。

win32com

从命名上就可以看出,这是一个处理 windows 应用的扩展,Excel 只是该库能实现的一小部分功能。该库还支持 office 的众多操作。需要注意的是,该库不单独存在,可通过安装 pypiwin32 或者 pywin32 获取。

xlsxwriter

拥有丰富的特性,支持图片/表格/图表/筛选/格式/公式等,功能与openpyxl相似,优点是相比 openpyxl 还支持 VBA 文件导入,迷你图等功能,缺点是不能打开/修改已有文件,意味着使用 xlsxwriter 需要从零开始。

DataNitro

作为插件内嵌到 Excel 中,可完全替代 VBA,在 Excel 中使用 python 脚本。既然被称为 Excel 中的 python,协同其他 python 库亦是小事一桩。然而,这是付费插件…

xlutils

基于 xlrd/xlwt,老牌 python 包,算是该领域的先驱,功能特点中规中矩,比较大的缺点是仅支持 xls 文件。

性能

我们对几个库做了最基本的写入和读取测试,分别使用不同库进行添加及读取 1000行 * 700列 数据操作,得到所用时间,重复操作取平均值。另外在不同的电脑配置,不同的环境下结果肯定会有出入,数据仅供参考。

在这里插入图片描述

注:xlutils 最多只能写入 256 列,即 1000*256,用时3.8秒,表现不错;

DataNitro 与 xlsxwriter 不能打开 Excel 文件。

小结

通过以上的分析,相信大家对几个库都有了简单的了解。在编写文章的过程中,笔者也在思考各个库最适合的应用场景。

不想使用 GUI 而又希望赋予 Excel 更多的功能,openpyxl 与 xlsxwriter,你可二者选其一;

需要进行科学计算,处理大量数据,建议 pandas+xlsxwriter 或者 pandas+openpyxl;

想要写 Excel 脚本,会 Python 但不会 VBA 的同学,可考虑 xlwings 或 DataNitro;

至于 win32com,不管是功能还是性能都很强大,有 windows 编程经验的同学可以使用。不过它相当于是 windows COM 的封装,自身并没有很完善的文档,新手使用起来略有些痛苦。

你可根据自己的需求和生产环境,选择合适的 Python-Excel 模块。

代码示例

最后,附上一些演示代码,大家可自行体会下不同模块的使用。

  • xlwings基本代码

在这里插入图片描述

  • xlsxwriter基本代码

在这里插入图片描述

  • xlutils基本代码
import xlrd #读取数据
import xlwt #写入数据
import xlutils #操作excel
#----xlrd库
#打开excel文件
workbook = xlrd.open_workbook('myexcel.xls')
#获取表单
worksheet = workbook.sheet_by_index(0)
#读取数据
data = worksheet.cell_value(0,0)
#----xlwt库
#新建excel
wb = xlwt.Workbook
#添加工作薄
sh = wb.add_sheet(sheetname='Sheet1')
#写入数据
sh.write(0,0,'data')
#保存文件
wb.save('myexcel.xls')
#----xlutils库
#打开excel文件
book = xlrd.open_workbook('myexcel.xls')
#复制一份
new_book = xlutils.copy(book)
#拿到工作薄
worksheet = new_book.getsheet(0)
#写入数据
worksheet.write(0,0,'new data')
#保存
new_book.save()
  • win32com基本代码
import win32com.client as wc
	#启动Excel应用
	excel_app = wc.Dispatch('Excel.Application')
	#连接excel
	workbook = excel_app.Workbooks.Open(r'e:/myexcel.xlsx' )
	#写入数据
	workbook.Worksheets('Sheet1').Cells(1,1).Value = 'data'
	#关闭并保存
	workbook.SaveAs('newexcel.xlsx')
	excel_app.Application.Quit
  • openpyxl基本代码
import openpyxl
# 新建文件
workbook = openpyxl.Workbook
# 写入文件
sheet = workbook.activesheet['A1']='data'
# 保存文件
workbook.save('test.xlsx')
  • DataNitro基本代码
#单一单元格赋值
Cell('A1').value = 'data'
#单元区域赋值
CellRange('A1:B2').value = 'data'

介绍就到此结束

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费