java解析excel文件_1.3.1 python解析excel格式文件

Excel表格

     Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。

excel文档的基本定义

  • 工作薄(workbook)

  • 工作表(sheet)

  • 活动表(active sheet)

  • 行(row): 1,2,3,4,5,6……..

  • 列(column): A,B,C,D……..

  • 单元格(cell): B1, C1

excel文件格式

43008304318d27f6bf6be478dd4634b8.png

Python安装excel相关模块

     python对于Excel表格操作的模块有很多种,其中

  • xlrd:对xls、xlsx、xlsm文件进行读操作–读操作效率较高,推荐

  • xlwt:对xls文件进行写操作–写操作效率较高,但是不能执行xlsx文件

  • openpyxl:对xlsx、xlsm文件进行读、写操作–xlsx写操作推荐使用

Python不附带Openpyxl,因此您必须安装它。模块的名称是openpyxl,其安装方式有两种,可以直接在dos中使用下面命令:

pip install openpyxl

同样可以直接在pycharm中选择File | Settings | Project: python2020 | Project Interpreter

8b3d5224bc2fa6f3de85e6acd715bd4e.png

操作的excel表格数据是

2e15ca00cfdded763003761a1a7fb4dc.png

 打开一个excel文档

import openpyxl# 打开一个excel文档, class 'openpyxl.workbook.workbook.Workbook'实例化出来的对象wb = openpyxl.load_workbook('wood.xlsx')print(wb, type(wb))# 获取当前工作薄里所有的工作表, 和正在使用的表;print(wb.sheetnames)print(wb.active)

执行结果:

9ff3f36ed343312d88d312e88e0d53de.png

选择要操作的工作表

# 2. 选择要操作的工作表, 返回工作表对象sheet = wb['Sheet1']# 获取工作表的名称print(sheet.title)

执行结果:

c9b16045952063a6aa2bd88c9975b7df.png

指定行指定列的单元格信息

# 3. 返回指定行指定列的单元格信息print(sheet.cell(row=1, column=2).value)cell = sheet['B1']print(cell)print(cell.row, cell.column, cell.value)

执行结果:

f0991cc9b4233cfde85fbe338e8d41b0.png

获取工作表中行和列的最大值

# 4. 获取工作表中行和列的最大值print(sheet.max_column)print(sheet.max_row)sheet.title = '学生信息'print(sheet.title)

执行结果:

ca5505fe57e93f5c432b7364704ea9e7.png

访问单元格的所有信息

# 5. 访问单元格的所有信息print(sheet.rows)  # 返回一个生成器, 包含文件的每一行内容, 可以通过便利访问.# 循环遍历每一行for row in sheet.rows:    # 循环遍历每一个单元格    for cell in row:        # 获取单元格的内容        print(cell.value, end=',')    print()

执行结果:

c19a2d27c57ee7547043adbc1096d7fe.png

保存修改信息

# 6. 保存修改信息wb.save(filename='wood.xlsx')

将数据写入Excel

工作表相关

导入WorkBook模块

from openpyxl import Workbookwb = Workbook()

这样就新建了一个新的工作表(只是还没被保存)。

若要指定只写模式,可以指定参数write_only=True。一般默认的可写可读模式就可以了。

from openpyxl import Workbookwb = Workbook()print(wb.get_sheet_names()) # 提供一个默认名叫Sheet的表#上述获取sheet的方式已经被sheetnames属性替换了:wb.sheetnames# 直接赋值就可以改工作表的名称wb["Sheet"].title = 'Sheet1'# 新建一个工作表,可以指定索引,适当安排其在工作簿中的位置wb.create_sheet('test', index=1)  # 被安排到第二个工作表,index=0就是第一个位置# 删除某个工作表wb.remove(wb["Sheet1"])  #同样还可以使用del wb["Sheet1"]#保存excelwb.save("wood_test.xlsx")

写入单元格

还可以使用公式

#先获取test工作表的操作对象sheet=wb["test"]#直接给单元格赋值就行sheet['A1'] = 'wood'sheet["B4"]=10sheet["B8"]=20# B10处写入平均值sheet['B10'] = '=AVERAGE(B4:B8)'

执行结果如下:

1ba7ca6d112ad341a616072633eadaf4.png

append函数

可以一次添加多行数据,从第一行空白行开始(下面都是空白行)写入。

# 添加一行row = [11, 12, 13, 14, 15]sheet.append(row)# 添加多行rows = [    ['ID', 'age1', 'age2'],    [2, 40, 30],    [3, 40, 25],    [4, 50, 30],    [5, 30, 10],    [6, 25, 5],    [7, 50, 10],]for value in rows:    sheet.append(value)

执行结果:

0277aea1f86bcc259bd860634d0e7114.png

Excel操作总结

  • 导入 openpyxl 模块。

  • 调用 openpyxl.load_workbook()函数。

  • 取得 Workbook 对象。

  • 调用 wb.sheetnames和 wb.active 获取工作簿详细信息。

  • 取得 Worksheet 对象。

  • 使用索引或工作表的 cell()方法,带上 row 和 column 关键字参数。

  • 取得 Cell 对象。

  • 读取 Cell 对象的 value 属性

了解更多信息关注公众号

cf17d1b6a094746f94400564448004e1.png

45dc1866fd54d57f73037500d18cd46e.png

分享课程立马赚:

55ebf7bd6cf416eede5c186e83d667d9.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/503811.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++ 快速排序_常用排序算法之快速排序

前天给大家分享了归并排序,但是它不是原地排序算法,需要消耗额外的内存空间,今天给大家分享的是江湖无人不知无人不晓的"快排"--快速排序。快排是小生接触开发学会的第一个排序算法快速排序原理快排也用到了分治思想。快排的核心思…

k8s ubuntu cni_手把手教你使用RKE快速部署K8S集群并部署Rancher HA

作者:杨紫熹原文链接:https://fs.tn/post/PmaL-uIiQ/RKE全称为Rancher Kubernetes Engine,是一款经过CNCF认证的开源Kubernetes发行版,可以在Docker容器内部运行。它解决了Kubernetes社区中最常见的问题——安装十分复杂。借助RKE…

linux du -sh 脚本,Linux之shell脚本(2)

Linux之shell脚本(2)一、printf命令:printf是一个把从标准输入的字符按照你所要求的格式输出到标准输出即屏幕的命令.在很多时候,我们可能需要将自己的数据给他格式化输出的。1.格式化输出。(print format)2.命令格式:printf打印格式实际内容…

python异常值删除_python数据清洗中,是如何识别和处理异常值的?

异常值处理是pythonshujuqingxi/ stylecolor:#000;font-size:14px;>python数据清洗中重要的步骤,虽然异常值出现频率比较低,但是如果置之不理的话,还是会对实际项目的分析造成偏差,所以今天小编就跟大家分享pythonshujuqingxi/…

啊哈c语言答案1.3,啊哈C语言编程-第2课-让计算机开口说话

为什么会有计算机的出现呢?我们伟大的人类,发明的每一样东西都是为了帮助我们改善生活。计算机同样是用来帮助我们的工具。想一想,假如你现在希望让计算机帮助你做一件事情,你首先需要做什么?是不是要先与计算机进行沟…

用html5做一个简单网页_用新款ws2812灯带做一个简单的窗花

本文转自:DF创客社区-未经许可不可转载原文链接(附件请于原文下方下载):用新款ws2812灯带做一个简单的窗花-创意生活论坛-DF创客社区​mc.dfrobot.com.cn作者:屌丝王小明很高兴提前拿到了DF即将上架的新品——ws2812灯…

c语言锁屏密码程序,求一个VB锁屏程序的源文件

满意答案nan67182014.07.08采纳率:53% 等级:12已帮助:8369人我原来写的一个缩屏的程序,后来没用,当时只是为了测试透明窗体的.代码给你参考下。功能差一个禁用任务管理器的功能Private Declare Function GetWindowL…

抗侧力构件弹性位移如何计算_说一说现在很火的装配式建筑怎么计算?

装配整体式剪力墙结构体系,其主要预制构件包括承重墙(预制剪力墙)、非承重墙(外填充墙、内隔墙等)、预制楼梯(预制楼梯梯段,端部伸出连接钢筋,伸入叠合平台板,通过叠合现浇形成整体楼梯)、预制阳台板(根据建筑要求,整体…

微软私有云解决方案_微软发布电信云平台 ,互联网巨头争夺5G网络商机

微软发布电信云平台 ,互联网巨头争夺5G网络商机微软公司周一发布了全新的云平台,能够帮助电信运营商更快地构建5G网络,降低成本并向企业客户出售定制服务。这一5G的新平台将在微软云Azure上运行,微软表示使用该平台将降低基础架构…

fanuc机器人编程手册_是谁需要G代码编程机器人?

用G代码编程机器人是一个5,6年前就碰到过的一个概念。当时就有点困惑,不过没有细究为何提出这样的想法。这个问题一直搁置很久也没有想起来主动去了解,去和同行去交流。今天在翻阅西门子自动化产品手册时,看到SINUMERIK产品介绍后…

java各个平台订单动态对接_平台订单丨全国各地最新采购、代加工订单,免费联系对接...

寻求:地铁闸机加工件定制加工需要两种闸机,一种扇门,一种旋转扇门,两必须都按照图纸加工,请仔细审核图纸,欢迎有实力的友商前来洽谈,不符勿扰,谢谢!求购:镀锌…

零基础入门c语言免费教程,C语言零基础急速入门免费教程不定期更新

很多粉丝问我陈老师为什么你会教c语言和java语言?因为名字中”陈“字的汉语拼音中“chen””陈“,和“c”语言是同一个首字母“c”,所以我教“c”语言。又因为同学、学生、粉丝、朋友、同事、亲人们叫我杰哥,汉语拼音中的”jie“&…

python单词什么意思_“逐字逐句”是什么意思?语法在Python中意味着什么?

I see the following script snippet from the gensim tutorial page. Whats the syntax of word for word in below Python script? >> texts [[word for word in document.lower().split() if word not in stoplist] >> for document in documents] 解决方案 T…

平台型时间信号强度曲线_哥测的不是BET,是氮气等温吸脱附曲线

平时经常会说去测个BET,看看材料比表面积多大,孔径分布如何,其实我们测试的并不是BET,而是氮气等温吸脱附曲线,测试得到的数据是氮气等温吸脱附曲线,比表面积、孔径分布都是通过公式计算得到的。所以本文旨…

python整数类型在每一台计算机上的取值范围是一样的_人工智能第一章:Python语言基础...

1 Python简介 Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。 1.1 起源 Python的作者是著名的…

android震动服务能设置时长么,Android实现手机振动设置的方法

本文实例讲述了Android实现手机振动设置的方法。分享给大家供大家参考。具体如下:main.xml布局文件:android:orientation"vertical" android:layout_width"fill_parent"android:layout_height"fill_parent">android:la…

请概述可视化卷积神经网络的中间输出的基本思想。_最详细的卷积神经网络入门指南!...

编辑:murufengDate:2020-05-15来源:深度学习技术前沿微信公众号链接:干货|最全面的卷积神经网络入门教程卷积神经网络简介卷积网络 (convolutional network)(LeCun, 1989),也叫做卷积神经网络 (convolutional neural n…

python指定位置写入文件_Python从文件中读取指定的行以及在文件指定位置写入

Python从文件中读取指定的行以及在文件指定位置写入 Python从文件中读取指定的行 如果想根据给出的行号, 从文本文件中读取一行数据, Python标准库linecache模块非常适合这个任务: 测试文件内容 : This is line 1. This is line 2. This is l…

华硕 x86 android,【华硕X79评测】学不会不收费 几步教你安装Android x86-中关村在线...

安装Android x86其实并不困难【中关村在线】华硕X79评测: 话说最近操作系统这个话题非常火爆。也许是借助于Windows 8消费者预览版的光芒,凡是与系统搭边的东西大家好像都喜欢与Windows 8进行比较。介于现在可以使用的系统众多,其中Android x…

springboot用户管理系统_Springboot优秀开源项目

前言 作为一个开发人员来说,快速的熟悉一项技术就是去使用它.伟大的作家鲁迅先生曾说过:看别人视频不如自己敲代码!作为一个菜鸡开发,我平时也致力于收集各种大神的开源项目!接下来就给大家带来我绞尽乳汁为大家搜罗的几个开源的好项目吧!1. 基于springboot Vue 的人事管理系统…