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. 原生PHP网页导出和导入excel文件实例

    原生PHP实现的网页导出和导入excel文件实例,包括上传也是用的原生.还可在exportExcel方法里设置字体等表格样式. 导出和导入表单代码: <p style="margin: ...

  2. 关于mybtis 使用过程中发生There is no getter for property named 'id' in class 'java.lang.String' 错误

    今天在修改一个关于mybtis语句时,偶然发现的一个错误  There is no getter for property named 'id' in class 'java.lang.String' ...

  3. flutter_inner_drawer 使用

    版本: flutter_inner_drawer: "^0.2.2" github:  https://github.com/Dn-a/flutter_inner_drawer 这 ...

  4. jQuery从零开始(二)

    1.css类的操作 -----addClass() 向被选元素添加一个或者多个类 -----removeClass() 删除被选元素的类 -----toggleClass() 取反 -----css( ...

  5. iOS关于制作动画运动轨迹(UIBezierPath介绍)

    参考链接: https://www.jianshu.com/p/6c9aa9c5dd68

  6. Codeforces Round #578 (Div. 2)

    Codeforces Round #578 (Div. 2) 传送门 A. Hotelier 暴力即可. Code #include <bits/stdc++.h> using names ...

  7. txt换行追加写入

    with open(negative_txt, 'a') as f: patch_name1 = patch_name + '\n' f.write(patch_name1)

  8. Windows10 下利用Hyper-V安装CentOS系统

    开启Windows10的Hyper-v功能(需要重启电脑) 控制面板→程序→启用或关闭Windows功能→打开Hyper-v→确定 创建虚拟机 在Windows管理工具中找到Hyper-v管理器并双击 ...

  9. Java开发笔记汇总

    Java语法与.Net对比 Java规范与约定 Kotlin Maven笔记 SpringBoot笔记2 SpringCloud笔记 MyBatis笔记 发布Jar包到中央仓库

  10. golang数据结构之利用栈求计算表达式(加减乘除)

    例如:3+2*6-2 先定义两个栈,一个为数值栈,一个为运算符栈: stack.go package stack import ( "errors" "fmt" ...