如何在python中使用openpyxl读取excel数据

  介绍

如何在python中使用openpyxl读取excel数据?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

openpyxl介绍

openpyxl是一个开源项目,它是一个用于读/写取入excel 2010文档(如xlsx, xlsm, xltx, xltm文件)的python库,如果要处理更早格式的excel文档(xls),需要用到其它库(如:xlrd xlwt等),这是openpyxl比较其他模块的不足之处.openpyxl是一款比较综合的工具,不仅能够同时读取和修改excel文档,而且可以对excel文件内单元格进行详细设置,包括单元格样式等内容,甚至还支持图表插入,打印设置等内容。

python中与excel操作相关的模块:

<李>

, xlrd库:从excel中读取数据,支持xls, xlsx格式

<李>

, xlwt库:对excel进行修改操作,但不支持对xlsx格式的修改

<李>

, xlutils库:在xlwt和xlrd中,对一个已存在文件进行修改

<李>

, openpyxl库:主要针对xlsx格式的excel进行读取和编辑

openpyxl安装

pip  install  openpyxl

openpyxl基本概念

<李>

工作簿:工作簿对象

<李>

表:表单对象

<李>

细胞:表格对象

也就是我们使用excel时可以看到的三个对象,我们操作excel的步骤是打开工作簿,选中表,单对单元格进行操作,而openpyxl的工作原理也是如此。

如何在python中使用openpyxl读取excel数据

openpyxl对excel进行操作

新建excel

import  openpyxl      #,创建一个工作簿   时间=workbook  openpyxl.Workbook ()   #,创建一个表单   时间=sheet  workbook.create_sheet(& # 39;表1单& # 39;)   #,写入一个数据   sheet.cell(=1,行,列=1,价值=https://www.yisu.com/zixun/皃ython”)   #保存   workbook.save (test.xlsx)

,注意点:如果保存的文件名已存在,将会覆盖原来的文件

打开已存在的文件

<李>

打开已存在的文件:load_workbook ()

<李>

获取表单:工作簿(& # 39;表单名& # 39;]

<李>

读取指定表格:细胞(行、列)。李价值

import  openpyxl      #,打开工作簿   时间=workbook  openpyxl.load_workbook (& # 39; test.xlsx& # 39;)   #,获取表单   时间=sheet 工作簿(& # 39;表1单& # 39;】   #,读取指定的单元格数据   cell =, sheet.cell(=1,行,列=1)value   打印(细胞)

运行结果:

C: \ python软件\ \ python.exe  D://python24/python_base/test.py学习   python      Process  finished  with  exit  code  0

读取单个单元格

#,方式一:读取A6单元格的值   时间=cell1 表(& # 39;a6 # 39;]。value      #,方式二:读取第3行,第4列单元格的值   cell2 =, sheet.cell(=3,行,列=4)。值

读取多个单元格

#,方式一:读取A6单元格的值   时间=cell1 表(& # 39;a6 # 39;]。value      #,方式二:读取第3行,第4列单元格的值   cell2 =, sheet.cell(=3,行,列=4)。值

读取多个单元格时,都是以元组的形式返回

其他相关操作

关键代码相关描述细胞(行、列值)写入数据,三个参数分别是行,列,值细胞(行、列)value获取指定单元格的值,两个参数分别是行,列workbook.remove(& # 39;表单名& # 39;)删除表单德尔工作簿(& # 39;表单名& # 39;]删除表单workbook.save(& # 39;文件名& # 39;)保存工作簿sheet.max_row获取表单数据的总行数sheet.max_column获取表单数据的总列数sheet.rows获取按行所有的数据表。列获取按列所有的数据

注意点:

<李>

openpyxl中列和行的起始标识都是1,不是从0开始

<李>

从excel中读取出来的数据只有两种类型,即数值类型和字符串类型

<李>

不要随便在表格中敲空格,会影响判断最大行数和最大列数

<李>

运行操作excel的代码时,要先关闭在操作系统中打开的相关excel表,否则可能会无法读/写取入数据

<李>

写入数据时要执行保存

import  openpyxl      #,打开工作簿   时间=wb  openpyxl.load_workbook (& # 39; test.xlsx& # 39;)   #,获取表单   时间=sh  wb(& # 39;表1单& # 39;】   #,读取指定的单元格数据   res1 =, sh.cell(=1,行,列=1)value   打印(res1)      #,获取最大行数   打印(sh.max_row)   #,获取最大列数   打印(sh.max_column)      #,按列读取所有数据,每一列的单元格放入一个元组中   打印(sh.columns), #,直接打印,打印结果是一个可迭代对象,我们可以转换成列表来查看      #,按行读取所有数据,每一行的单元格放入一个元组中   rows =sh.rows   #,print(列表(行)),#,转换成列表之后打印结果为具体的单元格,如下   #,((& lt; Cell  & # 39;表1单& # 39;.A1>,, & lt; Cell  & # 39;表1单& # 39;.B1>,, & lt; Cell  & # 39;表1单& # 39;.C1>,, & lt; Cell  & # 39;表1单& # 39;.D1>,, & lt; Cell  & # 39;表1单& # 39;.E1>,, & lt; Cell  & # 39;表1单& # 39;.F1>,, & lt; Cell  & # 39;表1单& # 39;.G1>),   #,(& lt; Cell  & # 39;表1单& # 39;.A2>,, & lt; Cell  & # 39;表1单& # 39;.B2>,, & lt; Cell  & # 39;表1单& # 39;.C2>,, & lt; Cell  & # 39;表1单& # 39;.D2>,, & lt; Cell  & # 39;表1单& # 39;.E2>,, & lt; Cell  & # 39;表1单& # 39;.F2>,, & lt; Cell  & # 39;表1单& # 39;.G2>),   #,(& lt; Cell  & # 39;表1单& # 39;.A3>,, & lt; Cell  & # 39;表1单& # 39;.B3>,, & lt; Cell  & # 39;表1单& # 39;.C3>,, & lt; Cell  & # 39;表1单& # 39;.D3>,, & lt; Cell  & # 39;表1单& # 39;.E3>,, & lt; Cell  & # 39;表1单& # 39;.F3>,, & lt; Cell  & # 39;表1单& # 39;.G3>))         #,我们可以通过对循环以及价值来查看单元格的值   for  row 列表(行):拷贝,#,遍历每行数据=,case [], #,用于存放一行数据   ,for  c 行:拷贝,#,把每行的每个单元格的值取出来,存放到案例里   case.append才能(c.value)   之前,print ()

如何在python中使用openpyxl读取excel数据