python—openpyxl自动化操作Excel格式文件(6~10课)
我有点懒直接截图的
仅个人笔记
复习需要
!!!!!!
文章目录
- 前言
- 一、安装库openpyxl
- 二、python打开及读取Excel表格内容
- 1.Excel表格基本术语
- 2.打开及读取表格数据
- 2.1 打开表格
- 2.2 获得表格
- 2.3 表格尺寸
- 2.4 表格格子数据
- 3.本次作业
- 三.python向Excel表格写入内容
- 1.修改表格内容
- 1.1 修改格子内容
- 1.2 插入公式
- 1.3 用列表插入行数据
- 1.4 创建一列及多列或一行及多行
- 1.5 删除列或行
- 1.6 移动格子
- 1.7 创建或删除表格
- 1.8 复制表格
- 1.9 修改表格名称
- 1.10 创建新的表格文件
- 1.11 冻结窗口
- 1.12 添加筛选
- 2.本次作业
- 四.批量调改字体,样式
- 1.修改表格内的字体,样式
- 1.1修改字体
- 1.2 获得表格内字体样式
- 1.3 设计如何对齐
- 1.4 设置边框样式
- 1.5 设置填充样式
- 1.6 设置行高和列宽
- 1.7 合并或取消合并单元格
- 2.本次作业
- 五.编程生成Excel内图表
- 1.插入图片
- 2.生成列表
- 2.1 柱状图
- 2.2 条形图
- 3.本次作业
前言
bilibili课程:Python自动化办公视频全集!!! 、6~10课(即目录)
一、安装库openpyxl
win系统:在命令行下输入:pip install openpyxl
.
二、python打开及读取Excel表格内容
1.Excel表格基本术语
.
2.打开及读取表格数据
2.1 打开表格
2.2 获得表格
。
2.3 表格尺寸
(sheet.max_row获得总共行数,.max_column获得总共列数)
2.4 表格格子数据
(sheet[数字],即获得某行内容)
(用sheet[],直接返回的是元组里的元组__((。。。。),)__这样的,所以用for遍历要,for cell in sheet[][0],这样)
[5:6]表示第五行
(按行获取。row一次遍历一行的,如例子遍历为a2 b2 、a3 b3)
(按列获取。a2 a3 、b2 b3)
.
3.本次作业
form openpyxl import load_workbook
#作业一
workbook = load_workbook(filename='f:\\办公自动化项目素材包\\2. 自动化操作Excel表格\\阿里云天池电商婴儿用户数据.xlsx')
sheet = workbook.active
for row in sheet.rows:for cell in row:if cell.value == None:print(cell.coordinate)
.
三.python向Excel表格写入内容
1.修改表格内容
1.1 修改格子内容
(记得保存.save())
(如果不保存在原路径,相当于创建一个新的表格)
1.2 插入公式
1.3 用列表插入行数据
1.4 创建一列及多列或一行及多行
。
1.5 删除列或行
1.6 移动格子
1.7 创建或删除表格
。
1.8 复制表格
1.9 修改表格名称
1.10 创建新的表格文件
通过save保存路径,默认创建一个表格)
1.11 冻结窗口
1.12 添加筛选
(sheet.dimensions是选择全部都筛选,可以=‘A1’ 或者‘A1:B2’这样选择筛选范围)
.
2.本次作业
from openpyxl import load_workbook
from openpyxl import Workbook#作业二
#打开表格
workbook = load_workbook(filename='f:\\办公自动化项目素材包\\2. 自动化操作Excel表格\\阿里云天池电商婴儿用户数据.xlsx')
sheet = workbook.active
cols = sheet['A1:G1']#找到buy_mount目标列,col_mb
col_mb = 0
for cell in cols[0]: #cols会产生元组内的元组,因此cols[0]if cell.value == 'buy_mount':col_mb = cell.coordinate[0]break#选出目标列大于5的行,并且先添加给表头
list_mb = [1]
for i in range(2, sheet.max_row): #因为这一列最后一行为AVERAGE(F2:F1001),所以不遍历cell = sheet[f'{col_mb}{i}']if cell.value != None and int(cell.value) > 5:list_mb.append(cell.coordinate[1:])#保存需要的行内容
list_row = []
for i in list_mb:list_1 = []for cell in sheet[i]:list_1.append(cell.value)list_row.append(list_1)#创建新的表格文件并且输入数据
workbook = Workbook()
sheet = workbook.active
for row in list_row:sheet.append(row)
workbook.save(filename='f:\\办公自动化项目素材包\\阿里~作业2.xlsx')
.
四.批量调改字体,样式
1.修改表格内的字体,样式
1.1修改字体
(HEX为16进制,如红色RGB(255,0,0)->HEX(#FF0000))
1.2 获得表格内字体样式
1.3 设计如何对齐
水平对齐:
左对齐left,居中center,右对齐right,分散对齐distributed,跨列居中centerContinuous,两端对齐justify,填充fill,常规general
垂直对齐:
居中center,靠上top,靠下bottom,两端对齐justify,分散对齐distributed
1.4 设置边框样式
边框样式:
‘double’, ‘mediumDashDotDot’, ‘slantDashDot’, ‘dashDotDot’, ‘dotted’,‘hair’,‘mediumDashed’, ‘dashed’, ‘dashDot’, ‘thin’, ‘mediumDashDot’, ‘medium’,‘thick’
1.5 设置填充样式
填充样式:
‘lightGrid’, ‘gray0625’, ‘lightTrellis’, ‘lightDown’, ‘lightVertical’, ‘darkTrellis’,‘darkHorizontal’, ‘darkVertical’, ‘darkGrid’, ‘darkGray’, ‘solid’, ‘darkUp’, ‘lightGray’, ‘mediumGray’, ‘darkDown’, ‘lightHorizontal’, ‘lightUp’, ‘gray125’
1.6 设置行高和列宽
1.7 合并或取消合并单元格
.
2.本次作业
from openpyxl import load_workbook
from openpyxl import Workbook
from openpyxl import styles#作业三
workbook = load_workbook(filename='f:\\办公自动化项目素材包\\2. 自动化操作Excel表格\\阿里云天池电商婴儿用户数据.xlsx')
sheet = workbook.active#寻找目标day,buy_mount所以在列
col_day, col_buy = 0, 0 #目标列列表
for cell in sheet['A1:G1'][0]:if cell.value == 'day':col_day = cell.coordinate[0]if cell.value == 'buy_mount':col_buy = cell.coordinate[0]#选出(day2014之后并且buy_mount列大于5)的行
list_mb = [1] #目标列表,添加表头数字
for i in range(2, sheet.max_row): #因为表格最后一行为AVERAGE(F2:F1001),所以不遍历cell_day = sheet[f'{col_day}{i}']cell_buy = sheet[f'{col_buy}{i}']if cell_buy.value != None and cell_buy.value > 5 and cell_day.value != None and int(str(cell_day.value)[:4]) > 2014:list_mb.append(i)#保存需要的行内容
list_row = []
for i in list_mb:list_1 = []for cell in sheet[i]:list_1.append(cell.value)list_row.append(list_1)#创建新的表格文件并且输入数据
workbook_1 = Workbook()
sheet_1 = workbook_1.active
for i in list_row:sheet_1.append(i)
for i in range(2, sheet_1.max_row + 1): #将buy_mount中大于10的数据行背景标为红色,字体标为白色cell_buy = sheet_1[f'{col_buy}{i}']if cell_buy.value > 10:for cell in sheet_1[i]:cell.fill = styles.PatternFill(fill_type='solid', fgColor='FF0000')cell.font = styles.Font(color='FFFFFF')
workbook_1.save(filename='f:\\办公自动化项目素材包\\2. 自动化操作Excel表格\\电商婴儿用户数据333.xlsx')
.
五.编程生成Excel内图表
1.插入图片
.
2.生成列表
2.1 柱状图
2.2 条形图
.
3.本次作业
python—openpyxl自动化操作Excel格式文件(6~10课)相关推荐
- python操作excel格式文件
python操作excel格式文件 1. 读数据 2. 写excel 3.操作整合 1. 读数据 安装包 pip install openpyxl 导包 from openpyxl import lo ...
- python xlrd读取excel-使用Python xlrd模块读取Excel格式文件的方法
这是一篇关于如何使用Python xlrd模块读取Excel格式文件的方法的文章,下面的python代码中使用 了xlrd模块的方法,这样就能够很方便的读取 excel 文件内容.同是这个xlrd模块 ...
- Python读取和操作Excel(.xlsx)文件
Python读取和操作Excel(.xlsx)文件 使用openpyxl库来控制excel文件(即.xlsx为后缀的文件).这里介绍一下excel数据的结构. 打开excel文件后生成一个workbo ...
- cpythonjava解释xml_详解python使用lxml操作xml格式文件
python利用lxml读写xml格式的文件 之前在转换数据集格式的时候需要将json转换到xml文件,用lxml包进行操作非常方便. 1. 写xml文件 a) 用etree和objectify fr ...
- Matlab操作excel格式文件
1,读取excel文件 使用xlsread函数,格式 num = xlsread(filename,sheet,xlRange) [num,txt,raw] = xlsread('my_example ...
- python存储数据的操作(csv格式文件,Excel表格文件)!!!
python存储数据 存储数据的方式 两种存储数据方式的区别 csv格式文件 Excel格式文件 csv文件的写入 csv文件的读取 Excel基本概念 Excel文件的写入 Excel文件的读取 存 ...
- 使用python中openpyxl模块操作excel文件,计算单元格分子式的相对分子质量(一)
背景:本人是力学专业博士,从事分子动力学模拟,最近需要对结果进行数据分析,其中一项就是计算每一时刻的不同分子式的相对分子质量并将最大相对分子质量输出,换出曲线图.已知,分子式数据均保存在excel文件 ...
- python 通过openpyxl来操作Excel文件(一 ):读取Excel文件
这篇文章讲python 通过openpyxl来读取Excel文件 不清楚怎么通过openpyxl来写入Excel文件的小伙伴可以看我另一篇文章 传送门python 通过openpyxl来操作Excel ...
- python 通过openpyxl来操作Excel文件(二 ):写入Excel文件
这篇文章讲python 通过openpyxl来写入Excel文件,不清楚python怎么读取Excel文件的小伙伴可以去看下我的另一篇文章 传送门https://blog.csdn.net/i_cof ...
最新文章
- ExtAspNet应用技巧(十九) - 日志管理
- 【Python】 文件目录比较工具filecmp和difflib
- 用命令行操作 VirtualBox 和 SGD
- OVS DPDK--物理端口配置(三)
- mysql在线开启并行复制_mysql 5.7开启并行复制
- 硬件基础 —— 电容
- 5元素升级android6,升级你的app以支持高长宽比的新旗舰
- python-封装pymysql的思路步骤
- 5G到来,App的未来,是JavaScript,Flutter还是Native ?
- 阿里云搭建CDH集群配置邮箱告警
- AjaxPro实现方法
- 怎么用EasyRecovery恢复sd卡中的数据
- 再论:男人有多大责任和感恩代表着有多大的驾驭能力和事业能力
- 自动驾驶轨迹预测算法:NeurIPS挑战赛冠军方案
- 计算机控制系统模型,控制系统数学模型及其类型-电脑自学网
- 批量自定义裁剪多张图片,可以按固定像素值或比例批量裁剪图片
- vcf构建idx索引
- maven引入支付宝SDK
- 微信小程序大全之100荐:301~400
- Axure RP9——【图片放大预览效果】