loadworkbook Python_load with

loadworkbook Python_load withPython——load_workbook用法功能方法示例文件模块读取功能读取excel文件,并进行操作方法示例文件模块读取fromopenpyxlimportload_workbookwb=load_workbook(“电信成绩单.xlsx”)wb'<openpyxl.workbook.workbook.Workbookat0x1ad7ad45ac8>’ws=wb.activews<Worksheet”电子信息2班”>…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

功能

读取excel文件,并进行操作

方法

示例文件

本文用到的示例文件为一个excel表格,含有名为“电子信息1班”和“电子信息2班”两个Sheet。其内容均为成绩单。
在这里插入图片描述

模块读取

>>> from openpyxl import load_workbook

Jetbrains全家桶1年46,售后保障稳定

导入excel表格

使用load_workbook('表名.xlsx')导入excel表格:

>>> wb = load_workbook("电信成绩单.xlsx")
>>> wb
<openpyxl.workbook.workbook.Workbook at 0x1ad7ad45ac8>

经过测试发现,active默认首先展示的似乎是,保存excel的时候最后点开的那个Sheet,而非默认展示表格里的第一个Sheet。因此,这里我们显示的是第二个Sheet“电子信息2班”:

>>> ws = wb.active
>>> ws
<Worksheet "电子信息2班">

既然如此,就用第二个sheet作为示例吧!

获取Sheet

  1. 使用get_sheet_by_name('表名')获取指定的表:
>>> wb.get_sheet_by_name('电子信息1班')
<Worksheet "电子信息1班">
  1. 使用get_sheet_names()直接获取全部表名,输出为list形式:
>>> sheet_name = wb.get_sheet_names()
>>> sheet_name
['电子信息1班', '电子信息2班']

查看行与列

  1. 查看最大行数:
>>> row_num = ws.max_row
>>> row_num
5
  1. 查看最大列数:
>>> col_num = ws.max_column
>>> col_num
3

查看单元格

  1. 查看A1单元格的内容:
>>> a1 = ws['A1'].value
>>> a1
'成绩单'

查看A1单元格显示的是“成绩单”,但是A1B1C1被我合并为了一个单元格,是否查看B1C1同样也是返回“成绩单”呢?
在这里插入图片描述
然而,查看B1、C1,显示的为None。看来,合并后的单元格只能默认使用其第一个小单元格地址来查询。

>>> b1 = ws['B1'].value
>>> print(b1)
None
>>> c1 = ws['C1'].value
>>> print(c1)
None
  1. 查看第二行第一列的内容:
>>> b = ws.cell(row = 2,column = 1).value
>>> b
'名字'

批量访问数据

>>> ws.rows
<generator object Worksheet._cells_by_row at 0x000001CDD21BD3B8>
>>> ws.columns
<generator object Worksheet._cells_by_col at 0x000001CDD21BD048>
  1. 按行访问数据:
>>> lst = []
>>> for row in ws.rows:
>>>		for col in row:
>>>        	lst.append(col.value)
>>> print(lst)
['成绩单', None, None, '名字', '体育', '系统控制', '小刘', 90, 50, '小朱', 70, 80, '小孙', 60, 20]
  1. 按列访问数据:
>>> lst = []
>>> for col in ws.columns:
>>> 	for row in col:
>>>     	lst.append(row.value)
>>> print(lst)
['成绩单', '名字', '小刘', '小朱', '小孙', None, '体育', 90, 70, 60, None, '系统控制', 50, 80, 20]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230758.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android学习路线指南

    Android学习路线指南前言看到一篇文章中提到“最近几年国内的初级Android程序员已经很多了,但是中高级的Android技术人才仍然稀缺“,这的确不假,从我在百度所进行的一些面试来看,找一个适合的高级Android工程师的确不容易,一般需要进行大量的面试才能挑选出一个比较满意的。为什么中高级Android程序员不多呢?这是一个问题,我不好回答,但是我想写一篇文章来描述下Android的学习路线,期望可以帮助更多的…

    2022年6月11日
    37
  • Mac 终端命令行读写NTFS硬盘方法[通俗易懂]

    Mac 终端命令行读写NTFS硬盘方法[通俗易懂]1.插入移动硬盘后,先查看移动硬盘的名称:mount|grepntfs这里的MyPassport是我的移动硬盘,可以看到它实际位置是/dev/disk2s12.先把移动硬盘卸载sudoumount/dev/disk2s13.建立挂载点,并重新挂载,这里我还是把它挂载在Volumes目录下,并新建文件夹cd/VolumesmkdirMy\Passport/使用自带的mount_ntfs就可以完成挂载了。sudomount_ntf…

    2022年6月16日
    94
  • java官方编译器_JAVA 编译器

    java官方编译器_JAVA 编译器javac做了些什么?说白了,javac就是一个编译器;编译器就是把一种语言规矩转换成另一种语言规矩,也就是将对人友好的语言转换成对机器友好的语言。因此,javac是把Java源代码编译成Java字节码,即JVM可以识别的二进制;表面上就是将.java文件转成.class文件。javac做了些什么?主要由4个模块组成。词法剖析器:识别Java中的if、else、for、while等关键字及其语句的…

    2022年7月13日
    19
  • nginx配置ssl证书实现https访问_更换ssl证书

    nginx配置ssl证书实现https访问_更换ssl证书1,登录阿里云,工作台找SSL证书或者安全下找CA证书2,点击创建证书(或购买证书),创建好以后点击证书申请、3,设置配置以及域名信息,仅填写圈住内容,其他默认即可4,随后等待一会,查看状态,是否为 已签发5,为已签发时,点击下载选择下载类型6,下载后解压文件7,上传至服务器,存放位置,先找到nginx所在位置 “/nginx/conf/”找到该位置创建“cert”把刚才解压的两个文件存放至此。8,开始nginx配置内容`server { #SSL 访问端口号为 443 li

    2022年8月19日
    12
  • 有感FOC算法学习与实现总结「建议收藏」

    有感FOC算法学习与实现总结「建议收藏」`FieldOrientedControl`磁场定向控制(`FOC`),`FOC`是有效换向的公认方法。`FOC`的核心是估计转子电场的方向。一旦估计了转子的电角度,就将电动机的三相换相,以使定子磁场垂直于转子磁场。本文参考了`TI`,`microchip`的相关文档,基于`STM32F103`系列单片机实现了带编码器的`FOC`算法,实现了对通用伺服电机(表贴式`PMSM`)的控制。

    2022年6月21日
    119
  • 定时任务之crontab命令「建议收藏」

    定时任务之crontab命令「建议收藏」定时任务之crontab命令

    2022年4月21日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号