Python 无废话-办公自动化Excel修改数据

如何修改Excel 符合条件的数据?用Python 几行代码搞定。

需求:将销售明细表的产品名称为PG手机、HW手机、HW电脑的零售价格分别修改为450055007500,并保存Excel文件。如下图

Python 修改Excel 数据,常见步骤:

1.添加openpyxl 模块。

    import openpyxl

2.调用openpyxl.load_workbook()函数,取得Workbook对象

    wb=openpyxl.load_workbook("Data\Input\销售明细表.xlsx")

3.获取Worksheet 对象,需要处理的工作表

   sheet=wb["销售明细表"]

4. 定义字典,存储修改数据的条件

   updateDataDic={ "PG手机":4500, "HW手机":5500,"HW电脑":7500}

5. 遍历WorkSheet 数据行

   for curRow in range(2,sheet.max_row)

6.使用工作表的cell()方法,带上row column 关键字参数,

   获取Cell的值proName=sheet.cell(row=curRow,column=2).value

7.判断proName 是否在字典,条件成立,则使用Cell方法,赋值修改后的值

   if proName in updateDataDic :

         sheet.cell(row=curRow,column=3).value= updateDataDic[proName]

8.保存Workbook

    wb.save("Data\Input\销售明细表.xlsx")

代码如下:

#添加excel 模块
import openpyxl

#创建工作簿对象
wb=openpyxl.load_workbook("Data\Input\销售明细表.xlsx")
#创建工作表对象
sheet=wb["销售明细表"]
#定义字典 用来保存excel 需要修改的条件
updateDataDics={
        "PG手机":4500,
        "HW手机":5500,
        "HW电脑":7500
}

#遍历销售明细表数据行
for curRow in range(2,sheet.max_row):
    proName=sheet.cell(row=curRow,column=2).value
    if proName in updateDataDics:
        sheet.cell(row=curRow, column=3).value=updateDataDics[proName]

wb.save("Data\Input\销售明细表.xlsx")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/97591.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习必修课 - 编码分类变量 encoding categorical variables

1. 数据预处理和数据集分割 import pandas as pd from sklearn.model_selection import train_test_split导入所需的Python库 !git clone https://github.com/JeffereyWu/Housing-prices-data.git下载数据集 # Read the data X pd.read_csv(/content/Housing-prices-data/t…

【SQL】MySQL中的约束

1. 主键约束(primary key): 相当于唯一约束非空约束分为单列主键,多列联合主键,一个表只有一个主键多列联合主键的每列都不能为空 2. 自增长约束(auto_increment): 用在单列主键后…

Git中的HEAD

Git中的HEAD HEAD^数字:表示当前提交的父提交,具体是第几个父提交通过数字指定,HEAD^1第一个父提交,该语法只 能用于合并(merge)的提交记录,因为一个通过合并产生的commit对象才有多个父提交。 HEAD~数字&#xff1…

Vim教程

目录 vim 介绍 常用的四种模式 首先先学会如何正确进入和退出vim: normal模式 insert模式: command模式: v-block模式: vim异常退出 vim配置 vim 介绍 Vim是一款高度可定制的文本编辑器,它的前身是Vi&#xf…

qt解决信号和槽连接时传递额外参数的问题

解决信号和槽连接时传递额外参数的问题 QSignalMapper 是 Qt 框架中的一个类,用于解决信号和槽连接时传递额外参数的问题。当一个信号被触发时,QSignalMapper 可以将该信号与一个特定的参数关联起来,并将信号与对应的槽函数进行连接。 下面…

vue-devtools插件安装

拓展程序连接 链接:https://pan.baidu.com/s/1tEyZJUCEK_PHPGhU_cu_MQ?pwdr2cj 提取码:r2cj 一、打开谷歌浏览器,点击扩展程序-管理扩展程序 二、打开开发者模式,将vue-devtools.crx 拖入页面,点击添加扩展程序 成…

Kafka是什么,以及如何使用SpringBoot对接Kafka

系列文章目录 上手第一关,手把手教你安装kafka与可视化工具kafka-eagle Kafka是什么,以及如何使用SpringBoot对接Kafka 系列文章目录一、Kafka与流处理二、Spring Boot与Kafka的整合Demo1. 新建springboot工程2. 添加Kafka依赖3. 配置Kafka4. 创建Kafka…

图论---最小生成树问题

在连通网的所有生成树中,所有边的代价和最小的生成树,称为最小生成树。解决最小生成树问题一般有两种算法:Kruskal算法和Prim算法。 Kruskal算法 原理:基本思想是从小到大加入边,是个贪心算法。我们将图中的每个边按…

JS进阶-原型

原型 原型就是一个对象,也称为原型对象 构造函数通过原型分配的函数是所有对象所共享的 JavaScript规定,每一个构造函数都有一个prototype属性,指向另一个对象,所以我们也称为原型对象 这个对象可以挂载函数,对象实…

不标准的 json 格式的字符串如何转为标准的(json字符串属性名不带双引号如何转

背景 不规范的 json 字符串例如 属性名不带双引号 {name:"abc"}属性名带单引号而不是双引号 {name:"abc"}属性值该用双引号的时候用了单引号 {"name":abc}还有一种情况就是以上情况的混合 所谓规范的json字串就是属性名要用双引号&#xf…

(二)Apache log4net™ 手册 - 配置

0、引言 在上一篇文章中我们简单介绍了 Log4Net 及其核心的三大组件。本文将在上一篇文章的基础上继续探讨与 Log4Net 配置相关的内容。 1、配置 将日志请求插入到应用程序代码中需要进行大量的计划和工作。观察表明,大约4%的代码专门用于日志记录。因此&#xf…

【Linux】信号屏蔽与信号捕捉的原理与实现(附图解与代码)

这一篇的篇幅可能有点长,如果已经了解了以下两个知识点的同学可以自行跳到第三部分——信号屏蔽的实现。 不太了解的同学希望你们能够静下心来看完,相信一定会有不小的收获。那么话不多说,我们这就开始啦!!&#xff0…

Linux网络存储:NFS

NSF 笔记: NFS是通过网络来进行服务器和客户端之间的数据传输的,我们大家都知道,要想通过网络进行传输,必须得知道是通过哪一个端口进行传输的! NFS服务器对于端口的选择是随机的,那么问题在于&#xff0…

代码随想录算法训练营第四十六天 | 518. 零钱兑换 II、377. 组合总和 Ⅳ

518. 零钱兑换 II 视频讲解:动态规划之完全背包,装满背包有多少种方法?组合与排列有讲究!| LeetCode:518.零钱兑换II_哔哩哔哩_bilibili 代码随想录 (1)代码 377. 组合总和 Ⅳ 视频讲解&…

JOSEF约瑟 闭锁继电器 LB-7 YDB-100 100V 50HZ 控制断路器的合闸或跳闸

闭锁继电器LB-7导轨安装名称:闭锁继电器型号:LB-7闭锁继电器额定电压100V功率消耗≤10VA触点容量220V1.5A40W返回系数≥0.8 LB-1A、LB-1D、DB-1、HBYB-102/D YDB-100、HLO、DB-100、LB-7型闭锁继电器 一、用途 LB-7型闭锁继电器(以下简称继电器)用于发电厂及变电所内高压母线…

MySQL报错:Row size too large (> 8126)

问题描述 1118 - Row size too large ( 8126). Changing some columns to TEXT or BLOB or using ROW_FORMATDYNAMIC or ROW_FORMATCOMPRESSED may help. ln current row format, BLOB prefix of 768 bytes is stored inline. 问题分析 InnoDB引擎建表时,如果最大行…

git stash

git stash 是 Git 中一个非常有用的命令,用于临时保存当前工作目录中的修改,以便你可以切换到其他分支或处理其他任务而不丢失你的修改。它的主要用途是: 保存未提交的修改:你可以使用 git stash 命令将未提交的修改(包…

【计算机网络】网络编程接口 Socket API 解读(9)

Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。…

Electron笔记

基础环境搭建 官网:https://www.electronjs.org/zh/ 这一套笔记根据这套视频而写的 创建项目 方式一: 官网点击GitHub往下拉找到快速入门就能看到下面这几个命令了 git clone https://github.com/electron/electron-quick-start //克隆项目 cd electron-quick-start //…

提取歌曲伴奏?用对软件一键帮你搞定~

相信大家经常想获取某首歌曲的伴奏,但是不知从何下手,今天这篇教程给大家分享一个超神奇软件,一键提取歌曲伴奏! 第一步:打开【音分轨】APP,进入首页点击【人声分离】 第二步:选择导入方式&…