openpyxl是一个用于读写Excel 2010 xlsx文件的python库。
openpyxl官方文档:https://openpyxl.readthedocs.io/en/stable/

一、安装包

pip3 install openpyxl

二、创建Excel,写入数据

from openpyxl import Workbook

#创建Workbook,并默认会创建一个空表,名称为:Sheet
wb = Workbook()
#获取默认的sheet
ws1 = wb.active
#设置Sheet名称
ws1.title = 'Sheet1'
#写入单个单元格
ws1['A1'] = '标题列1'
ws1['B1'] = '标题列2'
#写入多个单元格(从有数据的行的下一行写入)
ws1.append(['张三', 80])
ws1.append(['李四', 90]) #创建一个新sheet,可以指定名称
ws2 = wb.create_sheet('Sheet2') #复制Sheet1,新sheet名称为Sheet1 Copy
ws3 = wb.copy_worksheet(wb['Sheet1']) #打印所有表名
print(wb.sheetnames) #保存
wb.save('1.xlsx')

结果Excel内容如下:

三、读取Excel数据

读取上面创建的1.xlsx数据

from openpyxl import Workbook
from openpyxl import load_workbook wb = load_workbook('1.xlsx')
#猜测格式类型
wb.guess_types = True
ws1 = wb.active print('总行数', ws1.max_row)
print('总列数', ws1.max_column) print('---获取单个单元格的值---')
print(ws1['A1'].value)
print(ws1[1][0].value) #这里也是A1值,行索引从1、列索引从0算起 print('---获取单列的所有值---')
for cell in ws1['A']:
print(cell.value) print('---获取多列的值(通过切片)---')
#如果范围比实际大,如实际只有AB两列,指定A:B,则获取结果返回None,并且C列会被后面.columns和.rows获取到
for column in ws1['A:B']:
for cell in column:
print(cell.value) print('---获取所有列的值---')
for column in ws1.columns: #也可用ws1.iter_cols()
for cell in column:
print(cell.value) print('---获取某行的值---')
for cell in ws1[1]:
print(cell.value) print('---获取多行的值(通过切片)---')
for row in ws1[1:2]:
for cell in row:
print(cell.value) print('---获取所有行的值---')
for row in ws1.rows: #也可用ws1.iter_rows()
for cell in row:
print(cell.value)

Python用openpyxl读写Excel的更多相关文章

  1. Python使用openpyxl读写excel文件

    Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...

  2. 【转发】Python使用openpyxl读写excel文件

    Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...

  3. Python模块学习 - openpyxl读写excel

    openpyxl模块介绍 openpyxl模块是一个读写Excel 2010文档的Python库,如果要处理更早格式的Excel文档,需要用到额外的库,openpyxl是一个比较综合的工具,能够同时读 ...

  4. python用openpyxl操作excel

    python操作excel方法 1)自身有Win32 COM操作office但讲不清楚,可能不支持夸平台,linux是否能用不清楚,其他有专业处理模块,如下 2)xlrd:(读excel)表,xlrd ...

  5. python使用 openpyxl包 excel读取与写入

    '''### 写入操作 ###from openpyxl import Workbook#实例化对象wb=Workbook()#创建表ws1=wb.create_sheet('work',0) #默认 ...

  6. Python3使用openpyxl读写Excel文件

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

  7. python 单元测试_读写Excel及配置文件(八)

    一.安装openpyxl模块 openpyxl模块:是用于解决Excel(WPS等均可使用)中扩展名为xlsx/xlsm/xltx/xltm的文件读写的第三方库.xls文件要使用xlwt .wlrd两 ...

  8. 利用 Python 插件 xlwings 读写 Excel

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

  9. Python 使用openpyxl导出Excel表格的时候,使用save()保存到指定路径

    在使用openpyxl导出Excel表格的使用,如何指定导出的路径呢. 使用sava(filename),会保存到当前执行文件的路径下. 使用sava("/tmp/{}.xlsx" ...

随机推荐

  1. 你看不懂的spring原理是因为不知道这几个概念

    背景 问题从一杯咖啡开始. 今天我去楼下咖啡机买了一杯「粉黛拿铁」.制作过程中显示: 我取了做好的粉黛拿铁,喝了一口,果然就是一杯热巧克力.咦咦咦,说好的拿铁呢?虽然我对「零点吧」的咖啡评价很高,觉得 ...

  2. 最常见的 Git 问题和操作清单汇总

    最常见的 Git 问题和操作清单汇总 引言 本文整理自工作多年以来遇到的所有 Git 问题汇总,之前都是遗忘的时候去看一遍操作,这次重新整理了一下,发出来方便大家收藏以及需要的时候查找答案. 一.必备 ...

  3. 记录SqlServer安装后局域网无法连接

    ,如果安装的时候 已经选择 “混合模式(SQL Server 身份验证和Windows 身份验证)(M)”, 并且已经为 SQL Server 系统管理员分配了账户和密码 则不用重新配置. 配置方法如 ...

  4. 获取当前Linux的外网地址

    有时候我们在测试配置外网IP是不是成功时,我们需要使用一些命令,使用 ssh 登录可以查看ip, 还有一种可以使用命令: curl ifconfig.me 进行方便获取,公网IP:真的是非常好的服务: ...

  5. ASM与ASMD

    时序机 状态机 控制器 数据通路之间的关系 样例代码

  6. LG3092 「USACO2013NOV」No Change 状压DP

    问题描述 https://www.luogu.org/problem/P3092 题解 观察到 \(k \le 16\) ,自然想到对 \(k\) 状压. 设 \(opt[i]\) 代表使用硬币状况为 ...

  7. webpack打包优化实践

    事情缘由 近段时间在做基于scratch3.0的改造项目.基于scratch-gui改造,项目本身已经很大了,然后里面还要用到scratch-blocks,scratch-vm,scratch-ren ...

  8. 曾Python培训讲师-2年Python开发无包装简历-20191217-可公开

    目录 个人介绍 技能介绍 项目经历 自我评价 简历非完整版,需要完整版看下述信息,禁止任何一切私人用途.转发 我生日是27号,那就27元一份,有需求的来购买!只会涨价不会降价,大概卖10份涨1元:曾P ...

  9. Tkinter最佳实践(半小时)

    概述: 简介 Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和 ...

  10. SQL --- where 1=1 与 1<> 1

    1.Sql 中的查询语句中的where 字句是为了带条件进行查询,那么使用where 1=1  后查询的是什么 首先:查询表   tb_obge  中的所有字段 select * from dbo.o ...