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模块的更多相关文章

  1. python基础语法12 内置模块 json,pickle,collections,openpyxl模块

    json模块 json模块: 是一个序列化模块. json: 是一个 “第三方” 的特殊数据格式. 可以将python数据类型 ----> json数据格式 ----> 字符串 ----& ...

  2. python之openpyxl模块

    一 . Python操作EXCEL库的简介 1.1 Python官方库操作excel Python官方库一般使用xlrd库来读取Excel文件,使用xlwt库来生成Excel文件,使用xlutils库 ...

  3. Python3之turtle模块的使用

    Python3之turtle模块的使用     直接扣代码就行: import turtle as t t.pensize(4) t.hideturtle() t.colormode(255) t.c ...

  4. 常用模块 - openpyxl模块

    一.简介 xlrd/xlwt 主要是针对Office 2003或更早版本的XLS文件格式 缺点:不支持XLSX文件格式 OpenPyXL 能读能写能修改 缺点:不支持XLS Microsoft Exc ...

  5. Python3中正则模块re.compile、re.match及re.search函数用法详解

    Python3中正则模块re.compile.re.match及re.search函数用法 re模块 re.compile.re.match. re.search 正则匹配的时候,第一个字符是 r,表 ...

  6. Python3之时间模块详述

    Python3之时间模块  time & datetime & calendar 一. 概述 python 提供很多方式处理日期与时间,转换日期格式是一个常见的功能. 时间元组:很多p ...

  7. 2019-7-19 包、logging模块、hashlib(加密模块)、openpyxl模块、深浅拷贝

    一.包 什么是包: 它是一系列模块文件的结合体,表示形式就是一个文件夹.该文件内部通常会有一个__init__.py文件,包的本质还是一个模块,可以被调用,调包就相当于与调用__init__.py文件 ...

  8. Python3之logging模块浅析

    Python3之logging模块浅析   目录 Python3之logging模块浅析 简单用法 日志与控制台同时输出 一个同时输出到屏幕.文件的完成例子 日志文件截取 日志重复打印问题解决 问题分 ...

  9. python openpyxl模块实现excel的读取,新表创建及原数据表追加新数据

    当实际工作需要把excel表的数据读取出来,或者把一些统计数据写入excel表中时,一个设计丰富,文档便于寻找的模块就会显得特别的有吸引力,本文对openpyxl模块的一些常见用法做一些记录,方便工作 ...

随机推荐

  1. windows下python3和python2虚拟环境配置

    Python3 被越来越多的开发者所接受,同时让人尴尬的是很多遗留的老系统依旧运行在 Python2 的环境中,因此有时你不得不同时在两个版本中进行开发,调试. 如何在系统中同时共存 Python2 ...

  2. Collection集合重难点梳理,增强for注意事项和三种遍历的应用场景,栈和队列特点,数组和链表特点,ArrayList源码解析, LinkedList-源码解析

    重难点梳理 使用到的新单词: 1.collection[kəˈlekʃn] 聚集 2.empty[ˈempti] 空的 3.clear[klɪə(r)] 清除 4.iterator 迭代器 学习目标: ...

  3. Autofac官方文档翻译--一、注册组件--3属性和方法注入

    官方文档:http://docs.autofac.org/en/latest/register/prop-method-injection.html Autofac 属性和方法注入 虽然构造函数参数注 ...

  4. Kafka数据每5分钟同步到Hive

    1.概述 最近有同学留言咨询Kafka数据落地到Hive的一些问题,今天笔者将为大家来介绍一种除Flink流批一体以外的方式(流批一体下次再单独写一篇给大家分享). 2.内容 首先,我们简单来描述一下 ...

  5. 处理xls文件

    package com.cn.peitest.excel; import java.io.File; import java.io.FileInputStream; import java.io.Fi ...

  6. java中读取word文档里的内容

    package com.cn.peitest.excel.word; import java.io.FileInputStream; import java.io.FileOutputStream; ...

  7. Linux下删除文件名带有空格的文件

    1.使用单引号将文件名括起来进行操作: rm '2018-08-07 17-29-48.png'

  8. flink集群模式安装配置

    一.手动下载安装包 wget http://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.6.1/flink-1.6.1-bin-hadoop27 ...

  9. vue项目中的路由守卫

    路由守卫的意义就相当于一个保安一样,作用很大,在实际的项目中运用也是不少,也就是当客户在登陆自己账号的时候,有可能存在客户有啥事的时候,自己后台或者pc的关闭全部浏览器,没有点击退出登录,或者在退出登 ...

  10. mysql锁类型

    mysql锁类型 问题 都有哪些锁 锁与隔离级别的关系 sql语句中涉及都涉及哪些锁 事务中,锁何时释放 死锁检测机制 概要