Python——openpyxl读取Excel表格(读取、单元格修改、单元格加底色)

news/2024/11/8 20:52:31/

首先python读取Excel的库有很多,包括xlwings,pandas,xlrd等等,我比较常用的是openpyxl,以及pandas,当然还有喜欢将数据量比较大的Excel转为csv格式再读取。

今天我们用openpyxl来读取excel文件,读取的时候可以将每一行的信息转为列表,最重要的是,可以输出每一行的行号,这样后期就可以修改单元格的内容,就可以靠行号

第 1 步,读取

在这里插入图片描述

代码:

import os
import openpyxl
# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./数据源/'+os.listdir('./数据源/')[0])
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active# 循环遍历每一行,将每一行的数据以列表形式添加到 rows 列表中for i, row in enumerate(worksheet.iter_rows(values_only=True), 1):d = list(row)print(f"行{i}",d)
# workbook.save("./结果.xlsx"),由于这里只是读取,没有修改,无需保存

第2 步,修改

如我在K列,增加了一列把上述代码的行号填充进去

worksheet[“K{行号}”] = 赋值

在这里插入图片描述

哈哈,第一行忘记跳过了(加个continue),不过不影响,数据的行号填充的是对的(下面代码是对的)

在这里插入图片描述

import os
import openpyxl
# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./数据源/'+os.listdir('./数据源/')[0])
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active# 循环遍历每一行,将每一行的数据以列表形式添加到 rows 列表中for i, row in enumerate(worksheet.iter_rows(values_only=True), 1):if i== 1:continued = list(row)worksheet[f"K{i}"] = iprint(f"行{i}",d)workbook.save("./结果.xlsx")

设置单元格宽、高,以及底色

我们给 B 列设置宽一点

worksheet.column_dimensions['B'].width = 15
worksheet.column_dimensions['1'].height = 15 # 这是这是第一行的 行高,以此类推

设置单元格底色

worksheet[’A1'].fill = PatternFill("solid", fgColor="3CB371") # 如将A1单元格设置【“3CB371”】这个颜色,这是16进制颜色

在这里插入图片描述

代码

import os
import openpyxl
from openpyxl.styles import PatternFill# 打开 Excel 文件,获取 Workbook 对象
workbook = openpyxl.load_workbook('./数据源/'+os.listdir('./数据源/')[0])
# 选择需要读取数据的 Sheet,获取 Worksheet 对象
worksheet = workbook.active
worksheet.column_dimensions['C'].width = 20# 循环遍历每一行,将每一行的数据以列表形式添加到 rows 列表中
d2 = {i:chr(i+64) for i in range(1, 27)}
# print(d)
for i, row in enumerate(worksheet.iter_rows(values_only=True), 1):k = iif k<=11:worksheet[d2[k]+'1'].fill = PatternFill("solid", fgColor="3CB371")if i== 1:continued = list(row)worksheet[f"K{i}"] = iprint(f"行{i}",d)workbook.save("./结果.xlsx")

希望对大家有帮助

致力于办公自动化的小小程序员一枚

都看到这了,关注+点赞+收藏=不迷路!!

如果你想知道更多关于Python办公自动化的知识各位大佬给个关注吧!


http://www.ppmy.cn/news/85165.html

相关文章

弘博创新2023读书会|“读”赢成长,“书”立未来

读万卷书&#xff0c;行万里路&#xff0c;以书会友&#xff0c;提升自我。 为了让大家在繁忙的工作中抽时间静下心来读书&#xff0c;与志同道合的人交流和分享自己的想法&#xff0c;弘博创新于5月21日举办了线下读书会活动&#xff0c;学友们都积极参加本次读书会。 参加读书…

CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)

文章目录 1、CentOS安装OpenSSL1.1.1&#xff08;前置环境&#xff09;2、CentOS安装 Python 3.103、创建虚拟环境4、运行Django项目 1、CentOS安装OpenSSL1.1.1&#xff08;前置环境&#xff09; 编译安装Python3.10时需要openssl1.1.1 查看当前版本 & 删除openssl1.0 …

无毛刺时钟切换电路

为了SOC设计的低功耗性&#xff0c;多时钟域的划分是常用手段之一&#xff0c;有两个时钟&#xff0c;A为50Mhz&#xff0c;B为100Mhz&#xff0c;请设计无毛刺时钟切换电路&#xff0c;根据控制信号control&#xff0c;输出所需时钟信号。 control信号至少对一个时钟信号为异…

单目相机通过图像分析方式如何计算物体上下运动距离地面的高度?

要通过固定安装的摄像头计算物体上下运动距离地面的高度&#xff0c;可以采用计算机视觉和图像处理技术。以下是一个详细的步骤说明&#xff1a; 1. **摄像头准备和安装**&#xff1a;首先&#xff0c;确保摄像头已经正确安装&#xff0c;并能捕获到物体的上下运动。为了获得更…

conda环境安装使用教程

conda&#xff0c;anaconda&#xff0c;miniconda傻傻分得清楚 Conda是一个开源的包管理系统和环境管理系统&#xff0c;可以用于安装、管理和卸载软件包以及创建和管理虚拟环境。Anaconda是一个基于Python的数据科学平台&#xff0c;包括Python解释器、Conda包管理器、Jupyte…

azkaban使用了解

https://github.com/azkaban/azkaban/tags https://codeload.github.com/azkaban/azkaban/tar.gz/refs/tags/3.84.4 Azkaban是一套简单的任务调度服务&#xff0c;整体包括三部分webserver、dbserver、executorserver。Azkaban 为 LinkedIn 开源的分布式工作流调度框架&#…

(IDEA)springCloud项目导入本地jar包方法和项目打包时找不到引入本地jar包的问题解决方案

idea导入本地jar包 方法一:点击左上角File–>Project Structure–>Modules。打开Modules界面点击下方号&#xff0c;选择第一项&#xff0c;找到想要导入的本地jar包。此方法可以使项目使用导入的jar包程序不报错&#xff0c;但是在打包项目时&#xff0c;会出现找不到程…

TCP通讯(三次握手、四次挥手;滑动窗口;TCP状态转换;端口复用;TCP心跳检测机制)

前言&#xff1a;建议看着图片&#xff0c;根据文字描述走一遍TCP通讯过程&#xff0c;加深理解。 目录 TCP通信时序&#xff1a; 1&#xff09;建立连接&#xff08;三次握手&#xff09;的过程&#xff1a; 2&#xff09;数据传输的过程&#xff1a; 3&#xff09;关闭连…