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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PhpStorm-2021.3.2 激活码破解方法

    PhpStorm-2021.3.2 激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    91
  • Python中字符串String去除出换行符(\n,\r)和空格的问题「建议收藏」

    Python中字符串String去除出换行符(\n,\r)和空格的问题「建议收藏」Python中字符串String去除出换行符和空格的问题(\n,\r)在Python的编写过程中,获取到的字符串进场存在不明原因的换行和空格,如何整合成一个单句,成为问题。方法:一、去除空格“·”代表的为空格  strip()"···xyz···".strip()#returns"xyz""···xyz···".lstrip()…

    2022年5月27日
    150
  • linux 实现不同网段网络互通[通俗易懂]

    linux 实现不同网段网络互通[通俗易懂]实现:网络:10.10.100.0/24网络:172.16.100.0/24网络:192.168.10.0/24server1:10.10.100.128/24server2:172.16.100.132/24server3:192.168.10.131/24server4:10.10.100.129/24172.16.100.133/24192.168.10.132/24在linux中实现网络互通实现不通网段的网络互通需要借助net-tools所以首先在每个设备上需要安装

    2025年10月31日
    5
  • 二维数组a[3][4]_树状数组的算法原理

    二维数组a[3][4]_树状数组的算法原理原题链接堆栈是一种经典的后进先出的线性结构,相关的操作主要有“入栈”(在堆栈顶插入一个元素)和“出栈”(将栈顶元素返回并从堆栈中删除)。本题要求你实现另一个附加的操作:“取中值”——即返回所有堆栈中元素键值的中值。给定 N 个元素,如果 N 是偶数,则中值定义为第 N/2 小元;若是奇数,则为第 (N+1)/2 小元。输入格式:输入的第一行是正整数 N(≤10​5​​ )。随后 N 行,每行给出一句指令,为以下 3 种之一:Push keyPopPeekMedian其中 key 是不超过

    2022年8月9日
    5
  • 认识设备树(二)——设备树文件的格式

    认识设备树(二)——设备树文件的格式目录1DTS文件的格式1.1DTS文件的总体布局1.2memoryreservations的格式1.3属性的格式1.3.1有关属性名1.3.2有关属性值1.4节点的格式1.4.1推荐的节点名1.4.2节点的路径名1.5一些特定的属性1.5.1#address-cells1.5.2#size-cells1.5.3compatible1.5.4model1.5.5phandle1.5.6interrupt-controller1.5.7interrupt-parent1.5.

    2022年6月20日
    31
  • 翻转ListNode「建议收藏」

    翻转链表复制代码链表定义publicclassListNode{publicvarval:Intpublicvarnext:ListNode?publicinit(_val:Int){self.val=valself.next=nil}}复制代码extension方便测试观察e…

    2022年4月7日
    92

发表回复

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

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