Python使用openpyxl读写excel文件

  • Python使用openpyxl读取excel文件中数据
  • Python使用openpyxl往excel文件中写入数据

Python使用openpyxl读取excel文件中数据

openpyxl是一个第三方库,可以处理xlsx格式的Excel文件。
pip install openpyxl安装,(Aanconda自带)

读取Excel文件
需要导入相关函数。

from openpyxl import load_workbook

默认可读写,若有需要可以指定write_only和read_only为True

wb = load_workbook('mainbuilding33.xlsx')

默认打开的文件为可读写,若有需要可以指定参数read_only为True。

获取工作表–Sheet
获得所有sheet的名称

print(wb.get_sheet_names())

根据sheet名字获得sheet

a_sheet = wb.get_sheet_by_name('Sheet1')

获得sheet名

print(a_sheet.title)

获得当前正在显示的sheet, 也可以用wb.get_active_sheet()

sheet = wb.active

获取单元格

获取某个单元格的值,观察excel发现也是先字母再数字的顺序,即先列再行

b4 = sheet['B4']

分别返回

print(f'({b4.column}, {b4.row}) is {b4.value}') # 返回的数字就是int型

除了用下标的方式获得,还可以用cell函数, 换成数字,这个表示B4

b4_too = sheet.cell(row=4, column=2)
print(b4_too.value)

b4.column返回B, b4.row返回4, value则是那个单元格的值。另外cell还有一个属性coordinate, 像b4这个单元格返回的是坐标B4。

获得最大列和最大行

print(sheet.max_row)
print(sheet.max_column)

获取行和列
sheet.rows为生成器, 里面是每一行的数据,每一行又由一个tuple包裹。
sheet.columns类似,不过里面是每个tuple是每一列的单元格。

因为按行,所以返回A1, B1, C1这样的顺序

for row in sheet.rows:
for cell in row:
print(cell.value)

A1, A2, A3这样的顺序

for column in sheet.columns:
for cell in column:
print(cell.value)
上面的代码就可以获得所有单元格的数据。如果要获得某行的数据呢?给其一个索引就行了,因为sheet.rows是生成器类型,不能使用索引,转换成list之后再使用索引,list(sheet.rows)[2]这样就获取到第三行的tuple对象。

for cell in list(sheet.rows)[2]:
print(cell.value)
如何获得任意区间的单元格?

可以使用range函数,下面的写法,获得了以A1为左上角,B3为右下角矩形区域的所有单元格。注意range从1开始的,因为在openpyxl中为了和Excel中的表达方式一致,并不和编程语言的习惯以0表示第一个值。

for i in range(1, 4):
for j in range(1, 3):
print(sheet.cell(row=i, column=j))
# out
<Cell mainbuilding33.A1>
<Cell mainbuilding33.B1>
<Cell mainbuilding33.A2>
<Cell mainbuilding33.B2>
<Cell mainbuilding33.A3>
<Cell mainbuilding33.B3>

还可以像使用切片那样使用。sheet[‘A1’:‘B3’]返回一个tuple,该元组内部还是元组,由每行的单元格构成一个元组。

for row_cell in sheet['A1':'B3']:
for cell in row_cell:
print(cell)
for cell in sheet['A1':'B3']:
print(cell)
# out
(<Cell mainbuilding33.A1>, <Cell mainbuilding33.B1>)
(<Cell mainbuilding33.A2>, <Cell mainbuilding33.B2>)
(<Cell mainbuilding33.A3>, <Cell mainbuilding33.B3>)

根据字母获得列号,根据列号返回字母
需要导入, 这两个函数存在于openpyxl.utils

from openpyxl.utils import get_column_letter, column_index_from_string

根据列的数字返回字母
print(get_column_letter(2)) # B
根据字母返回列的数字

print(column_index_from_string('D')) # 4

Python使用openpyxl往excel文件中写入数据

参考链接:https://www.cnblogs.com/276815076/p/8028127.html

Python使用openpyxl读写excel文件相关推荐

  1. Python使用Pandas读写EXCEL文件教程

    https://www.daehub.com/archives/9463.html 教程 开始之前,我们需要首先了解一下什么是Excel,这有助于理解之后教程中的内容. 什么是Excel Excel  ...

  2. Python基础入门:使用openpyxl读写Excel文件

    Python中常用的操作Excel的三方包有xlrd,xlwt和openpyxl等,xlrd支持读取.xls和.xlsx格式的Excel文件,只支持读取,不支持写入.xlwt只支持写入.xls格式的文 ...

  3. python openpyxl读取excel_Python使用openpyxl读写excel文件

    这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 1.读取Excel文件 默认打开的文件为可读写,若有需要可 ...

  4. python openpyxl创建excel文件-python之openpyxl生成excel文件

    from openpyxl importload_workbookfrom openpyxl.styles importFont, Alignment, Side, Borderimportshuti ...

  5. python之批量读写excel文件

    首先,导入openpyxl库中的读取和新建文件包(比较官方的名称我没有查,就按照好理解的方向这样说),文中关于行和列的理解都是个人想法,可能有和读者不同之处. 先详细说怎么样读取单个excel文件,批 ...

  6. python 使用pandas 读写excel文件

    现在本地创建一个excel表,以及两个sheet,具体数据如下: sheet1: sheet2: 读取excel文件 pandas.read_excel(io, sheet_name=0, heade ...

  7. Python读写Excel文件

    python如何读写excel文件 python读写excel的方式有很多,不同的模块在读写的方法上稍有区别: 用xlrd和xlwt进行excel读写: 用openpyxl进行excel读写: 用pa ...

  8. excel python插件_利用 Python 插件 xlwings 读写 Excel

    Python 通过 xlwings 读取 Excel 数据 去年底公司让我做设备管理,多次委婉拒绝,最终还是做了.其实我比较喜欢技术.做管理后发现现场没有停机率统计,而原始数据有,每次要自己在Exce ...

  9. 用python生成excel文件_python通过openpyxl生成Excel文件的方法

    本文实例讲述了python通过openpyxl生成Excel文件的方法.分享给大家供大家参考.具体如下: 使用前请先安装openpyxl: easy_install openpyxl 通过这个模块可以 ...

最新文章

  1. php 启动服务器监听
  2. 具体数学第二版第三章习题(2)
  3. Python 字典类型的使用
  4. 收取承兑汇票四大注意事项
  5. pandas 每一列相加_Python数据分析——Pandas 教程(上)
  6. jpa 返回数据转换_如何使用JPA类型转换器加密数据
  7. 自定义控件添加属性_|AutoCAD LT 2019 Mac自定义功能区的方法
  8. “苹果税”收的太过分!苹果被连罚9周,总金额超3亿
  9. 525. Contiguous Array两位求和为1的对数
  10. [.Net] 一句话Linq(递归查询)
  11. SFML图形库学习:环境部署
  12. ubuntu 截屏_零基础学习树莓派_更新+截屏+休眠
  13. email英文计算机求职信,求职信_计算机英文求职信
  14. php后端管,管理后台-后端-PHP篇
  15. /usr/bin/ld: /tmp/ccIHWHTn.o: in function `Cdisk::Cdisk()‘:编译报错解决方案
  16. 如何将3d文件在网页中显示(webGL,three.js)
  17. Excel文件的下载
  18. TMA三均线股票期货高频交易策略的R语言实现
  19. 魔力宝贝服务器端文件介绍,魔力宝贝里的一些文件说明
  20. Lambda表达式用法超详细整理!!!

热门文章

  1. 萌新发问:MyBatis日志到底是如何做到兼容所有常用日志框架的?
  2. mysql可以靠索引,而我只能靠打工,加油,打工人!
  3. 架构评审,技术总监怒了,丢给我 400 个架构案例,先研究透!
  4. 蓝桥杯练习系统习题-算法训练3
  5. 图片加载框架Glide的简单使用
  6. 双指针算法之快慢指针(二):力扣【寻找链表的第N个点】leetcode-876、19
  7. pycharm 修改成中文教程(图文简单记录)
  8. 网络爬虫:采用“负载均衡”策略来优化网络爬虫
  9. Elasticsearch之mapping映射入门
  10. 线性结构--离散存储 链表讲解