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. linux中vi和vim操作

    一.简单介绍 vi 和 vim 类似于windows的文本编辑器 所有的Linux系统都会内置vi文本编辑器 vim可以看做是vi增强版,具有程序编辑能力,支持语法高亮,代码补全,编译及错误跳转等功能 ...

  2. Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类

    因为Jdk7及以前的日期时间类的不方便使用问题和线程安全问题等问题,2005年,Stephen Colebourne创建了Joda-Time库,作为替代的日期和时间API.Stephen向JCP提交了 ...

  3. JPA的entityManager的find方法与getReference方法的区别

    场景 JPA入门简介与搭建HelloWorld(附代码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103473937 ...

  4. OAuth2、OpenID Connect简介

    当我们在登录一些网站的时候,需要第三方的登录.比如,现在我们要登录简书https://www.jianshu.com/sign_in,我们使用微博登录,点击下方的一个微博的小按钮,就会出现这么一个地址 ...

  5. ArcGIS以数据库作为数据源作为source发布服务步骤详解(以Postgresql为例)及各种发布问题

    创建企业级数据库 Data Management Tools-->Geodatabase Administration-->Create Enterprise Geodatabase 按如 ...

  6. 个人项目开源之Django文件中转站源代码

    可以当做文件中转站或网盘 源代码

  7. 高性能go服务之高效内存分配

    高性能go服务之高效内存分配 手动内存管理真的很坑爹(如C C++),好在我们有强大的自动化系统能够管理内存分配和生命周期,从而解放我们的双手. 但是呢,如果你想通过调整JVM垃圾回收器参数或者是优化 ...

  8. Shell—常见报错问题

    bash:$'\r': command not found 造成这个问题的原因是Windows环境下换行的“\r”到了Linux环境下不能够识别了,因为Linux环境下默认的换行符为“\n”,我们只需 ...

  9. OSPF和ACL的应用

    1.创建拓扑图 2.配置基本网络 3.配置OSPF (1)在R1上配置 (2)在R2上配置 (3)在R3上配置 (4)在IT上配置 4.配置ACL (1)在R3上配置    (2)在R2上配置 (3) ...

  10. promise 和 setTimeout 在任务队列的执行顺序

    setTimeout(() => { console.log() }); const a = new Promise((resolve,reject)=>{ console.log(); ...