python处理excel数据计算_Python处理Excel数据
前段时间做了个小项目,帮个海洋系的教授做了个数据处理的软件。基本的功能很简单,就是对excel里面的一些数据进行过滤,统计,对多个表的内容进行合并等。之前没有处理excel数据的经验,甚至于自己都很少用到excel。记得《python核心》的最后一章里有讲到用win32 com操作office, 看了一下讲的不是很清楚。google了一下找到不少能处理excel数据的模块。对比了一下最终选定了openpyxl,openpyxl专门用于处理excel2007及以上版本产生的xlsx文件。不幸的是我所得到的数据中xls和xlsx都有,不过转换并不是什么难事,就暂时吧这个问题忽略了。
模块的安装过程非常简单,官网上有简单的使用说明和api文档,整体来说使用非常容易,也基本能满足我的需求。对于excel文件,我所需要的只是从中将相应位置的数据读取出来,以及把数据写入到对应的位置中去。而其间数据的处理,通过python可以很容易地完成。
1. excel数据的类型及组织方式
openpyxl中定义了多种数据格式,我只涉及到了其中最重要的三种:
null: 空值,对应于python中的none,表示这个cell里面没有数据。
numberic: 数字型,统一按照浮点数来进行处理。对应于python中的float。
string: 字符串型,对应于python中的unicode。
每一个excel数据文件从上至下分为三个层级的对象:
workbook: 每一个excel文件就是一个workbook。
sheet: 每一个workbook中可以包含多个sheet,具体就对应excel中我们在左下脚所看到的“sheet1”,“sheet2”等。
cell: 每一个sheet就是我们通常所看到的一个表格,可以含有m行,n列,每个确定的行号,列号所对应的一个格子就是一个cell。
2. 从excel中读取数据
从一个既有的xlsx文件中读取数据,按照excel文件的三个层级,分别做以下三个步骤
1. 打开workbook:
from openpyxl import load_workbook
wb = load_workbook('file_name.xlsx')2. 打开所需的sheet:
我们可以这样打开workbook中的第一个sheet:
ws = wb.get_active_sheet()变量_active_sheet_index用来确定获取哪一个sheet,而默认情况下它被置为0。
也可以通过sheet的名称来获取sheet:
ws = wb.get_sheet_by_name("sheet_name")openpyxl似乎没有提供按索引来读取sheet,不过我们总是能很容易地通过sheet_name来实现:
sheet_names = wb.get_sheet_names()
ws = wb.get_sheet_by_name(sheet_names[index])3. 获取对应cell的值:
openpyxl提供可两种方式来读取cell,一是按照excel的习惯用字母来代表列号,例如:
c = ws.cell('a4').value也可以按照行号列号来读取:
d = ws.cell(row = 3, column = 0)3. 将数据写入excel
同读取类似,写入一个excel文件,要经历一下四个步骤:
1. 新建workbook
直接新建一个workbook对象即可:
wb = workbook()2. 新建sheet
默认情况下,新创建的sheet是排在最后的,若想要创建一个排在最前的sheet,可以传入参数0:
ws1 = wb.create_sheet() # insert at the end
ws2 = wb.create_sheet(0) # insert at the first position3. 写入数据
直接将要写入的数据赋值给相应的cell即可,若仅仅是修改一个表。可以跳过前两个步骤,不过要注意不要覆盖掉其它数据:
ws.cell('b5') = value1
ws.cell(row = 3, column = 7) = value24. 保存数据
最后写入将数据写入即可,注意若保存路径下有同名的文件的话,之前的文件会被覆盖:
wb.save('file_name.xlsx')
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
python处理excel数据计算_Python处理Excel数据相关推荐
- iOS 数据计算带小数点导致数据不精确问题
iOS 数据计算带小数点导致数据不精确问题 我在开发中碰到一个UIScrollView跳动的问题,明明各个地方都没有问题,最后发现原来是计算ContentSize时有个计算需要除以2 /2.00 我这 ...
- python 销售数据分析输出表格_Python处理Excel数据实例--销售数据分析
数据分析笼统来说,大概分为五个步骤:提出问题.理解数据.数据清洗.构建模型.数据可视化.在数据分析中,很基础又关键的一步就是数据清洗,对原始数据的处理会花掉整个分析过程的很大一部分时间,这是因为如果前 ...
- python读excel中数据画图_python读取excel数据并且画图的实现示例
一,要读取的数据的格式: 二,数据读取部分: b站视频参考:https://www.bilibili.com/video/BV14C4y1W7Nj?t=148 # 1930 workbook=xlrd ...
- python表格多列合并_python 合并excel表格数据-如何用python从excel中同时提取两个列的数据,并生成dict(用xlrd)...
用Python导出工程文件两个子页里的数据成为两个excel表格,但我想把它合并成个一个excel表格的两个sheet 可以采用一些操作Excel块去实现,比如xlrd.xlwt.openpyxl.x ...
- python读excel成数组_python读取excel数据 python怎么从excel中读取数据?
python怎么从excel中读取数据?分母那么浩瀚,分子那么微弱.唯一就等于没有. #导入包 import xlrd #设置路径 path='C:\\Users\\jyjh\\Desktop\\da ...
- python 做excel可视化报告_Python操作Excel制作可视化数据图,实现自动化办公
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章来源于IT入门 安装 操作一个简单的Excel文档 操作注释及代码: 操作完成后,数 ...
- python做excel表格代码_Python读写Excel表格
最近在做一些数据处理和计算的工作,因为数据是以.CSV格式保存的,因此刚开始直接用Excel来处理. 但是做着做着发现重复的劳动,其实并没有多大的意义,于是就想着写个小工具帮着处理. 以前正好在一本书 ...
- python调用excel的书_Python读写Excel表格
原博文 2018-09-13 20:28 − 最近在做一些数据处理和计算的工作,因为数据是以.CSV格式保存的,因此刚开始直接用Excel来处理. 但是做着做着发现重复的劳动,其实并没有多大的意义,于 ...
- python相比于excel的优势_Python处理excel的优点
在我们工作中往往需要处理大量的数据,因此Excel在我们工作中是一个必不可少的工具,不过,近期很多人开始用Python处理数据,那么,大家为什么开始用Python了呢?Python辅助处理excel的 ...
- python .db 查看表信息_python查询excel数据库表
Python数据持久化-小测验 2018年7月13日考试 1.Python读写csv文件 现有如下图1所示的data.csv文件数据,请使用python读取该csv文件数据,并添加一条记录后输出如图2 ...
最新文章
- tomcat与resin的比较
- 【yolov4目标检测】(4) opencv+yolov4-tiny 实现选择性目标检测,附python完整代码
- JDBC连接MySQL
- 网络通道联调及SSH服务启动
- android旋转动画和平移动画具体解释,补充说一下假设制作gif动画放到csdn博客上...
- 微信小程序获取用户信息以及唯一openid
- 影响数百万人的21个经典全英文演讲,看完英语水平暴增!赶紧收藏
- 33643分!曼巴精神永不熄,数据回顾科比20年职业生涯辉煌
- Microsoft Excel常用操作
- maven配置仓库及部署jar包
- 服务器如何自动校准北京时间,北京时间
- Visio绘制时间轴、日程安排图、时间进度图的方法
- 如何用计算机算tan2,arctan计算器(万能计算器在线使用)
- 18年一剑!德州心脏研究所研制出磁悬浮心脏,每秒2000转,为心衰患者续命
- 观影计划:漫威电影宇宙「无限战争」系列
- directive-自定义指令
- 360安全卫士添加信任区
- 学习ES6(六)--函数 Lambda函数(=) 详解
- MATLB|多微电网及分布式能源交易
- 编程段子│只有程序猿才能看懂的搞笑段子