(12)-Python3之--openpyxl模块
1.安装
pip install openpyxl
2.Excel操作的流程
1、打开excel,进入工作薄 workbook
2、选择表单 Sheet
3、单元格 Cell
4、读写操作
3.Excel操作
首先准备已经存在的Excel表格。

3.1获取单元格的值
from openpyxl import load_workbook
# 选择Excel表
wb = load_workbook(r'E:\Users\Web_Core\xlstest.xlsx')
# 选择表单
sh = wb['Sheet1']
# 获取单元格的值,从1开始。
print(sh.cell(1,1).value) 结果:
A1
3.2写入单元格的值
from openpyxl import load_workbook
# 选择Excel表
wb = load_workbook(r'E:\Users\Web_Core\xlstest.xlsx')
# 选择表单
sh = wb['Sheet1'] # 写单元格的值
sh.cell(6,1).value = "二狗"
# 保存写入的数据 - 整个工作薄
wb.save(r'E:\Users\Web_Core\xlstest.xlsx')
结果:

3.3获取总行数、总列数
from openpyxl import load_workbook
# 选择Excel表
wb = load_workbook(r'E:\Users\Web_Core\xlstest.xlsx')
# 选择表单
sh = wb['Sheet1'] rows = sh.max_row # 总行数
print("总行数为:" + str(rows))
colums = sh.max_column # 总列数
print("总列数为:" + str(colums)) 结果:
总行数为:10
总列数为:4
3.4读取所有的数据
from openpyxl import load_workbook # 定义一个获取所有数据的函数
def read_all_data():
wb = load_workbook(r"E:\Users\Web_Core\xlstest.xlsx") # 打开Excel
sh = wb['Sheet1'] # 获取表单
cases = [] # 所有的cases用列表存放
max_row = sh.max_row # 获取最大行
max_column = sh.max_column # 获取最大列 # 通过双循环获取所有数据
for r in range(2, max_row + 1): # 遍历行
case = {}
for j in range(1, max_column + 1):
key = sh.cell(row=1, column=j).value # 遍历列
case[key] = sh.cell(row=r, column=j).value
cases.append(case) # 将一行数据放到列表 wb.save(r"E:\Users\Web_Core\xlstest.xlsx")
wb.close()
return cases # 调用函数,打印数据
all_data = read_all_data()
print(all_data) 结果:
[{'D1': 'D2', 'C1': 'C2', 'B1': 'B2', 'A1': 'A2'}, {'D1': 'D3', 'C1': 'C3', 'B1': 'B3', 'A1': 'A3'},
{'D1': 'D4', 'C1': 'C4', 'B1': 'B4', 'A1': 'A4'}, {'D1': 'D5', 'C1': 'C5', 'B1': 'B5', 'A1': 'A5'},
{'D1': 'D6', 'C1': 'C6', 'B1': 'B6', 'A1': '二狗'}, {'D1': 'D7', 'C1': 'C7', 'B1': 'B7', 'A1': 'A7'},
{'D1': 'D8', 'C1': 'C8', 'B1': 'B8', 'A1': 'A8'}, {'D1': 'D9', 'C1': 'C9', 'B1': 'B9', 'A1': 'A9'},
{'D1': 'D10', 'C1': 'C10', 'B1': 'B10', 'A1': 'A10'}]
(12)-Python3之--openpyxl模块的更多相关文章
- python基础语法12 内置模块 json,pickle,collections,openpyxl模块
json模块 json模块: 是一个序列化模块. json: 是一个 “第三方” 的特殊数据格式. 可以将python数据类型 ----> json数据格式 ----> 字符串 ----& ...
- python之openpyxl模块
一 . Python操作EXCEL库的简介 1.1 Python官方库操作excel Python官方库一般使用xlrd库来读取Excel文件,使用xlwt库来生成Excel文件,使用xlutils库 ...
- Python3之turtle模块的使用
Python3之turtle模块的使用 直接扣代码就行: import turtle as t t.pensize(4) t.hideturtle() t.colormode(255) t.c ...
- 常用模块 - openpyxl模块
一.简介 xlrd/xlwt 主要是针对Office 2003或更早版本的XLS文件格式 缺点:不支持XLSX文件格式 OpenPyXL 能读能写能修改 缺点:不支持XLS Microsoft Exc ...
- Python3中正则模块re.compile、re.match及re.search函数用法详解
Python3中正则模块re.compile.re.match及re.search函数用法 re模块 re.compile.re.match. re.search 正则匹配的时候,第一个字符是 r,表 ...
- Python3之时间模块详述
Python3之时间模块 time & datetime & calendar 一. 概述 python 提供很多方式处理日期与时间,转换日期格式是一个常见的功能. 时间元组:很多p ...
- 2019-7-19 包、logging模块、hashlib(加密模块)、openpyxl模块、深浅拷贝
一.包 什么是包: 它是一系列模块文件的结合体,表示形式就是一个文件夹.该文件内部通常会有一个__init__.py文件,包的本质还是一个模块,可以被调用,调包就相当于与调用__init__.py文件 ...
- Python3之logging模块浅析
Python3之logging模块浅析 目录 Python3之logging模块浅析 简单用法 日志与控制台同时输出 一个同时输出到屏幕.文件的完成例子 日志文件截取 日志重复打印问题解决 问题分 ...
- python openpyxl模块实现excel的读取,新表创建及原数据表追加新数据
当实际工作需要把excel表的数据读取出来,或者把一些统计数据写入excel表中时,一个设计丰富,文档便于寻找的模块就会显得特别的有吸引力,本文对openpyxl模块的一些常见用法做一些记录,方便工作 ...
随机推荐
- python中函数的初览
资料参考来源:https://www.cnblogs.com/haifeima/p/9595449.html 现在听到函数这两个字时还会头疼一会,因为我想到的是数学中的函数,但python中的函数不会 ...
- C# 并发编程 (异步编程与多线程)
并发:同时做多件事情 多线程:并发的一种形式,它采用多个线程来执行程序. 并行处理:把正在执行的大量的任务分割成小块,分配给多个同时运行的线程.并行处理是多线程的一种,而多线程是并发的一种. 异步编程 ...
- python序列(二)列表的删除操作
1.使用del命令删除列表中的指定位置上的元素 >>> s=[1,2,3,4] >>> del s[1] >>> s [1, 3, 4] 2.使用 ...
- pdf2swf 和pdf2html 使用命令详解
pdf2swf 将pdf文档转换为flash方式阅读,可以满足公式.图片的格式定义: pdf2htmlEX 将pdf文档转换为html方式阅读,有一下优点: 在HTML文件中精确显示原生文本 保持PD ...
- 阿里技术专家详解 Dubbo 实践,演进及未来规划
Dubbo 整体介绍 Dubbo 是一款高性能,轻量级的 Java RPC 框架.虽然它是以 Java 语言来出名的,但是现在我们生态里面已经有 Go.Python.PHP.Node.JS 等等语言. ...
- Zap简单使用
前言 zap 是 uber 开源的一个日志记录的包, uber 在 go 的领域建树颇多, zap 更是优秀, 相比于自带的 log ,他有更多的功能, 当然, 最显眼的还是他很快, 本文介绍 zap ...
- 【渲染教程】使用3ds Max和ZBrush制作卡通风格的武器模型(上)
克里斯蒂娜·马丁(CristinaMartín)介绍了她的项目灵剑(Spirit Sword)的制作过程,并详细的展示了使用3ds Max和ZBrush制作模型,纹理绘画和最终展示的过程. 介绍 克里 ...
- LeetCode108 将有序数组转为二叉搜索树
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1. 示例: 给定有序数组: [-10,-3,0, ...
- 【Flutter】功能型组件之数据共享
前言 InheritedWidget提供了一种数据在widget树中从上到下传递.共享的方式,例如在应用的根widget中通过InheritedWidget共享了一个数据,那么便可以在子widge ...
- 【Flutter】容器类组件之填充
前言 Padding可以给其子节点添加填充(留白). 接口描述 class EdgeInsets extends EdgeInsetsGeometry { // 分别指定四个方向的填充 const E ...