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.hqwc.cn/news/125213.html

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

相关文章

跨境电商测评内幕及自养号技术教学

现在测评行业的水越来越深了。几年前的测评行业都是邮箱联系老外,大多是一些产品的爱好者,评价也很真实公正。而现在,大量人加入,还有一些中介的参与,及骗子中介、黑心测评买家都纷纷的涌入了市场。 我们公司专业做底…

【C语言】转圈报数问题(三种方法--指针,数组)

题目&#xff1a;有n个人围成一圈&#xff0c;顺序排号。从第一个人开始报数&#xff08;从1到3报数&#xff09;&#xff0c;凡报到3的人退出圈子&#xff0c;问最后留下的是原来第几号的那位。 方法一&#xff1a; #include <stdio.h> #define N 10int main() {int …

力扣 -- 1027. 最长等差数列

解题步骤&#xff1a; 参考代码&#xff1a; class Solution { public:int longestArithSeqLength(vector<int>& nums) {int nnums.size();int ret2;unordered_map<int,int> hash;//这里可以先把nums[0]存进哈希表中&#xff0c;方便后面i从1开始遍历hash[num…

【C语言】内存函数的详细教学和模拟实现

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是gugugu。希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f194;本文由 gugugu 原创 CSDN首发&#x1f412; 如需转载还请通知⚠…

RabbitMQ-发布订阅模式和路由模式

接上文 RabbitMQ-工作队列 1 发布订阅模式 将之前的配置类内容都替换掉 Bean("fanoutExchange")public Exchange exchange(){//注意这里是fanoutExchangereturn ExchangeBuilder.fanoutExchange("amq.fanout").build();}Bean("yydsQueue1")publ…

行与走,放慢自己,思考回顾。

为什么要出去行与走&#xff1f; 1、出去行与走看到祖国的大美风景&#xff0c;可以更深刻的认识到我们祖国的美好。 2、可以放空心情&#xff0c;排除掉积攒在写字楼内的方格子里面的郁闷和烦恼。 3、可以为自己的身体和心灵找一个安静和清澈净土。 4、在行和走之间&#…

Django基础讲解-路由控制器和视图(Django-02)

一 路由控制器 参考链接&#xff1a; Django源码阅读&#xff1a;路由&#xff08;二&#xff09; - 知乎 Route路由, 是一种映射关系&#xff01;路由是把客户端请求的 url路径与视图进行绑定 映射的一种关系。 这个/timer通过路由控制器最终匹配到myapp.views中的视图函数 …

【C++】vector相关OJ

文章目录 1. 只出现一次的数字2. 杨辉三角3. 电话号码字母组合 ヾ(๑╹◡╹)&#xff89;" 人总要为过去的懒惰而付出代价ヾ(๑╹◡╹)&#xff89;" 1. 只出现一次的数字 力扣链接 代码展示&#xff1a; class Solution { public:int singleNumber(vector<i…

如何将图片存到数据库(以mysql为例), 使用ORM Bee更加简单

如何将图片存到数据库 1. 创建数据库: 2. 生成Javabean public class ImageExam implements Serializable {private static final long serialVersionUID 1596686274309L;private Integer id;private String name; // private Blob image;private InputStream image; //将In…

【Unet系列】

https://tianfeng.space/1947.html 前言概念 图像分割 分割任务就是在原始图像中逐像素的找到你需要的家伙! 语义分割 就是把每个像素都打上标签&#xff08;这个像素点是人&#xff0c;树&#xff0c;背景等&#xff09; &#xff08;语义分割只区分类别&#xff0c;不区…

案例题--Web应用考点

案例题--Web应用考点 负载均衡技术微服务XML和JSON无状态和有状态真题 在选择题中没有考察过web的相关知识&#xff0c;主要就是在案例分析题中考察 负载均衡技术 应用层负载均衡技术 传输层负载均衡技术 就近的找到距离最近的服务器&#xff0c;并进行分发 使用户就近获取…

git 同时配置 gitee github

git 同时配置 gitee github 1、 删除C:\Users\dell\.ssh目录。 在任意目录右击——》Git Bash Here&#xff0c;打开Git Bash窗口&#xff0c;下方命令在Git Bash窗口输入。 2、添加git全局范围的用户名和邮箱 git config --global user.email "609612189qq.com" …