博客
关于我
Python处理Excel数据
阅读量:796 次
发布时间:2023-03-07

本文共 1216 字,大约阅读时间需要 4 分钟。

前段时间做了个小项目,帮个海洋系的教授做了个数据处理的软件。基本的功能很简单,就是对Excel里面的一些数据进行过滤、统计,对多个表的内容进行合并等。之前对Excel数据处理的经验不多,甚至自己都很少用到Excel。记得《Python核心编程》的最后一章里有讲到用Win32 COM操作Office,自己看了讲的不是很清楚。于是Google了一下,找到不少能处理Excel数据的模块。对比了一下,最终选定了openpyxl。openpyxl专门用于处理Excel2007及以上版本产生的xlsx文件。不幸的是我所得到的数据中,既有xls文件也有xlsx文件,转换并不是什么难事,这个问题可以暂时忽略。

模块的安装过程非常简单,官网上有简单的使用说明和API文档,整体来说使用非常容易,也基本能满足我的需求。对于Excel文件,我所需要的只是从中将相应位置的数据读取出来,以及把数据写入到对应的位置中去。而在这中间的数据处理,通过python可以很容易地完成。

openpyxl中定义了多种数据格式,我只涉及到了其中最重要的三种:NULL、numeric、string。NULL表示空值,对应于python中的None;numeric统一按照浮点数来处理,对应于python中的float;string表示字符串型,对应于python中的unicode。

每一个Excel数据文件从上至下分为三个层级的对象:workbook、sheet、cell。workbook对应整个Excel文件,sheet对应Excel中的一个表格,cell则是表格中的一个单元格,包含确定的行号和列号。

从一个既有的xlsx文件中读取数据,按照Excel文件的三个层级,分别做以下三个步骤:打开workbook、打开所需的sheet、获取对应cell的值。openpyxl提供了两种方式来读取cell:一种是按照Excel习惯的用字母表示列号,例如ws.cell('A4').value;另一种是直接指定行号和列号,例如ws.cell(row=3, column=0)。

写入数据的过程相对简单,同样经历四个步骤:新建workbook、新建sheet、写入数据、保存数据。新建workbook直接创建一个workbook对象即可:wb = Workbook()。新建sheet默认情况下会插入到workbook的最后一个位置,若想插入到最前面,可以传入参数0:ws1 = wb.create_sheet() #插入到末尾,ws2 = wb.create_sheet(0) #插入到最前面。写入数据直接将值赋给相应的cell,例如ws.cell('B5') = value1,ws.cell(row=3, column=7) = value2。最后保存数据,注意若保存路径下有同名文件,之前的文件会被覆盖:wb.save('file_name.xlsx')。

转载地址:http://cxofk.baihongyu.com/

你可能感兴趣的文章
Python 接口并发测试详解
查看>>
Python 接口自动化 —— requests框架
查看>>
python 接口自动化数据结构(如列表、字典、元组)
查看>>
Python 接口自动化测试中的深拷贝与浅拷贝~
查看>>
Python 接口自动化测试中的高阶函数
查看>>
python 控制 cmd 命令行颜色
查看>>
Python 操作 Azure Blob Storage
查看>>
Python 操作 Excel 全攻略 | 包括读取、写入、表格操作、图像输出和字体设置
查看>>
Python 操作 JMeter 探索:pymeter 实操指南
查看>>
Python 操作 Redis
查看>>
Python 操作Mysql(PyMysql)
查看>>
Python 操作Redis
查看>>
Python 操作sqlite数据库及保存查询numpy类型数据(一)
查看>>
Python 操作sqlite数据库及保存查询numpy类型数据(二)
查看>>
Python 操作数据库
查看>>
Python 数据分析与可视化实战
查看>>
python 数据可视化 -- matplotlib02
查看>>
python 数据可视化利器
查看>>
Python 数据可视化详解
查看>>
python 数据库查询返回list或tuple
查看>>