Python办公—pandas读取Excel表格增加列、两列保持一致、依条件修改单元格内容(附代码)

目录

  • 专栏导读
  • 背景
  • 插入一列
  • 插入多列
  • 依条件修改单元格内容(2个条件以内)
  • 依条件修改单元格内容(3个条件以上)
  • 两列保持一致
  • 结尾

专栏导读

  • 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手

  • 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页

  • 👍 该系列文章专栏:请点击——>Python办公自动化专栏 求订阅

  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏

  • ❤️ 欢迎各位佬关注! ❤️

背景

  • 大家都知道Python中处理Excel文件的办公库有很多,如:openpyxl、pandas、xlwings、xlrd这些我之前都有介绍过,还专门写(水)了一篇文章测试他们的读取时间,大家没看过的可以前去考古一下,点我直达

  • 选择pandas是因为读取的效率比openpyxl高一点,有时候我们想在pandas读取Excel时在某列插入几列,或者是修改单元格内的数据时,会经常忘记怎么用,我来记录一下,大家可以收藏一下

插入一列

  • 如果还没有安装的同学,可以先安装一下

  • pip install pandas

  • 首先我们创建一个Excel文件作为测试数据,表头随便写一下

在这里插入图片描述

  • 假设我需要在B列后面插入一列,表头名为【爱好】代码如下

  • 因为B列为第2列,所以参数:loc=2,
    表头名参数:column='爱好'
    填充值参数:value=None(空值)

import pandas as pddef test():# 读取Excel文件df = pd.read_excel('测试数据.xlsx')# 插入列df.insert(loc=2, column='爱好', value=None)# 保存修改后的DataFrame到新的Excel文件df.to_excel('结果.xlsx', index=False)test()

在这里插入图片描述

插入多列

  • 假设我需要在D列(班级)后面插入5列,表头名为【列1,列2,列3,列4,列5】代码如下

  • 参数如上,相同的

import pandas as pddef test():# 读取Excel文件df = pd.read_excel('测试数据.xlsx')# 插入列for col_num in range(4, 9):df.insert(loc=col_num, column=f'列{col_num-3}', value=None)# 保存修改后的DataFrame到新的Excel文件df.to_excel('结果.xlsx', index=False)test()

在这里插入图片描述

依条件修改单元格内容(2个条件以内)

  • 如果A列【学号】<10,则E列【列1】填写:是;否则填写:否,代码如下

import pandas as pddef test():# 读取Excel文件df = pd.read_excel('测试数据.xlsx')# 插入列for col_num in range(4, 9):df.insert(loc=col_num, column=f'列{col_num-3}', value=None)# 如果A列【学号】<10,则E列【列1】填写:是;否则填写:否,df['列1'] = df['学号'].apply(lambda x: '是' if x < 10 else '否')# 保存修改后的DataFrame到新的Excel文件df.to_excel('结果.xlsx', index=False)test()

在这里插入图片描述

依条件修改单元格内容(3个条件以上)

  • 如果A列【学号】<5,则E列【列1】填写:是;
    如果A列【学号】<10,则E列【列1】填写:否;
    否则填写:X,
    代码如下

  • df['修改的列'] = df['条件列'].apply(调用函数名)

import pandas as pddef test():# 读取Excel文件df = pd.read_excel('测试数据.xlsx')def modify_value(x):if x < 5:return '是'elif x < 10:return '否'else:return 'x'# 插入列for col_num in range(4, 9):df.insert(loc=col_num, column=f'列{col_num-3}', value=None)# df['列1'] = df['学号'].apply(lambda x: '是' if x < 10 else '否')df['列1'] = df['学号'].apply(modify_value)# 保存修改后的DataFrame到新的Excel文件df.to_excel('结果.xlsx', index=False)test()

在这里插入图片描述

两列保持一致

  • H列【列4】与E列【列1】保持一致,代码如下

import pandas as pddef test():# 读取Excel文件df = pd.read_excel('测试数据.xlsx')def modify_value(x):if x < 5:return '是'elif x < 10:return '否'else:return 'x'# 插入列for col_num in range(4, 9):df.insert(loc=col_num, column=f'列{col_num-3}', value=None)# df['列1'] = df['学号'].apply(lambda x: '是' if x < 10 else '否')df['列1'] = df['学号'].apply(modify_value)df['列4'] = df['列1']# 保存修改后的DataFrame到新的Excel文件df.to_excel('结果.xlsx', index=False)test()

在这里插入图片描述

结尾

希望对大家有帮助

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

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

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

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

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

相关文章

2023年中国数据智能管理峰会(DAMS上海站2023)-核心PPT资料下载

一、峰会简介 数据已经成为企业的核心竞争力&#xff01;谁掌控数据、更好的利用数据、实现资产化&#xff0c;谁就会真正率先进入大数据时代。 1、数据智能管理趋势和挑战 在峰会上&#xff0c;与会者讨论了数据智能管理的最新趋势和挑战。随着数据量的不断增加&#xff0c…

JNI逆向

IDA&#xff1a;JNI类型转换 1.IDA高版本&#xff08;IDA 高版本内置了定义的JNI结构体; 如果没有的话&#xff0c;在Views->Open subviews -> Type Libraries 中添加Android ARM的lib即可&#xff09; 解决方法: 只需要对JNIEnv 指针&#xff08;JNIEnv * &#xff09…

使用postman时,报错SSL Error: Unable to verify the first certificate

开发中使用postman调用接口&#xff0c;出现以下问题&#xff0c;在确认路径、参数、请求方式均为正确的情况下 解决方法 File - Settings -> SSL certification verification 关闭 找到图中配置&#xff0c;这里默认是打开状态&#xff0c;把它关闭即可&#xff1a;ON …

虾皮测评选品:如何在虾皮平台上进行有效的产品测评和选品

在如今的电商市场中&#xff0c;虾皮&#xff08;Shopee&#xff09;平台已经成为了卖家们最为重要的销售渠道之一。而在虾皮平台上进行产品测评和选品对于卖家来说至关重要&#xff0c;它直接影响到店铺的销售额和利润。本文将为您提供一些关于如何在虾皮平台上进行有效的产品…

如何通过ETLCloud的API对接功能实现各种SaaS平台数据对接

前言 当前使用SaaS系统的企业越来越多&#xff0c;当我们需要对SaaS系统中产生的数据进行分析和对接时就需要与SaaS系统提供的API进行对接&#xff0c;因为SaaS一般是不会提供数据库表给企业&#xff0c;这时就应该使用ETL&#xff08;Extract, Transform, Load&#xff09;的…

复杂 SQL 实现分组分情况分页查询

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、根据 camp_status 字段分为 6 种情况 1.1 SQL语句 1.2 SQL解释 二、分页 SQL 实现 2.1 SQL语句 2.2 根据 camp_type 区分返…

Unity中Shader测试常用的UGUI功能简介

文章目录 前言一、锚点1、锚点快捷修改位置2、使用Anchor Presets快捷修改3、Anchor Presets界面按下 Shift 可以快捷修改锚点和中心点位置4、Anchor Presets界面按下 Alt 可以快捷修改锚点位置、UI对象位置 和 长宽大小 二、Canvas画布1、UGUI中 Transform 变成了 Rect Transf…

Linux 操作系统(查看文件内容)

cat 格式&#xff1a;cat [选项]...[文件]... 说明&#xff1a;把多个文件连接后输出到标准输出&#xff08;屏幕&#xff09;或者加”> 文件名” 输出到另一个文件中 常用选项&#xff1a; -b或—number-noblank: 从1开始对所有非空输出行进行编号 -n或—number: 从1开始所…

网络协议小记

一、TCP/IP协议 作为一个小萌新&#xff0c;当然我无法将tcp/ip协议的大部分江山和盘托出&#xff0c;但是其中很多面试可能问到的知识&#xff0c;我觉得有必要总结一下&#xff01; 首先&#xff0c;在学习tcp/ip协议之前&#xff0c;我们必须搞明白什么是tcp/ip协议。 1、…

架构设计系列之前端架构和后端架构的区别和联系

前端架构和后端架构都是软件系统中最关键的架构层&#xff0c;负责处理不同方面的任务和逻辑&#xff0c;两者之间是存在一些区别和联系的&#xff0c;我会从以下几个方面来阐述&#xff1a; 一、定位和职责 前端架构 主要关注用户界面和用户体验&#xff0c;负责处理用户与…

打造中国人自己的GPTs,百度灵境矩阵升级为智能体平台

12月18日&#xff0c;百度「灵境矩阵」平台全新升级为「文心大模型智能体平台」。灵境矩阵基于文心大模型&#xff0c;为开发者提供多样化的开发方式&#xff0c;支持广大开发者根据自身行业领域、应用场景&#xff0c;选取多样化的开发方式&#xff0c;打造大模型时代的原生应…

关于我对归纳偏置(inductive bias)的概念和应用的详细总结

归纳偏置&#xff08;inductive bias&#xff09; 1.归纳偏置&#xff08;inductive bias&#xff09;的概念2.归纳偏置&#xff08;inductive bias&#xff09;的应用 1.归纳偏置&#xff08;inductive bias&#xff09;的概念 归纳偏置&#xff08;inductive bias&#xff0…

贪吃蛇(二)绘制地图

绘制地图主要是考察基础的循环和分支控制&#xff0c;视频没看完&#xff0c;自己写了一下。 绘制一个基础地图 #include"curses.h" void cursesinit() {initscr();keypad(stdscr,1); }void mapinit() {int row;int col;for(row 0;row < 20;row){if(row 0 || …

如何在 FastAPI 中设置定时任务:完全指南

Web 应用程序开发中&#xff0c;及时高效处理常规任务至关重要&#xff0c;包括定时收集数据或管理任务计划。针对强大且性能卓越的 FastAPI 框架&#xff0c;我们可以通过几种策略来管理这些必要的定时任务。 实现 FastAPI 中的定时任务 本指南将探讨在 FastAPI 环境中管理定…

工业6轴机械臂运动学逆解(解析解)

工业6轴机械臂运动学逆解&#xff08;解析解&#xff09; 通常工业机械臂采用6旋转轴串连的形式&#xff0c;保证了灵活性&#xff0c;但为其运动学逆解&#xff08;即已知机械臂末端的位姿 P P P&#xff0c;求机械臂各个旋转轴的旋转角&#xff09;带来了较大的困难&#xff…

倒计数器:CountDownLatch

CountDownLatch 是 Java 中用于多线程编程的一个同步工具。 它允许一个或多个线程等待其他线程执行完特定操作后再继续执行。 CountDownLatch 通过一个计数器来实现&#xff0c; 该计数器初始化为一个正整数&#xff0c;每当一个线程完成了指定操作&#xff0c;计数器就会减一。…

Apache CouchDB 垂直权限绕过漏洞 CVE-2017-12635 已亲自复现

Apache CouchDB 垂直权限绕过漏洞 CVE-2017-12635 已亲自复现 漏洞名称影响版本影响版本 漏洞复现环境搭建漏洞利用 总结 漏洞名称 影响版本 Apache CouchDB是一个开源的NoSQL数据库&#xff0c;专注于易用性和成为“完全拥抱web的数据库”。它是一个使用JSON作为数据存储格式…

【深度学习】序列生成模型(六):评价方法计算实例:计算ROUGE-N得分【理论到程序】

文章目录 一、BLEU-N得分&#xff08;Bilingual Evaluation Understudy&#xff09;二、ROUGE-N得分&#xff08;Recall-Oriented Understudy for Gisting Evaluation&#xff09;1. 定义2. 计算N1N2 3. 程序 给定一个生成序列“The cat sat on the mat”和两个参考序列“The c…

JavaSE 搜索树

目录 1 概念2 操作2.1 查找2.2 插入2.3 删除 3 性能分析4 和 java 类集的关系 1 概念 二叉搜索树 又称 二叉排序树&#xff0c;它是一棵空树&#xff0c;或者是具有以下性质的二叉树: 若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值&#xff1b;若它…

Logistic Regression逻辑线性回归(基于diabetes数据集)

目录 介绍&#xff1a; 1、Confusion Matrix&#xff1a; 2、ROC&#xff08;Receiver Operating Characteristic&#xff09; 一、数据处理 二、建模 三、 confusion_matrix 四、 ROC&#xff08;Receiver Operating Characteristic&#xff09; 介绍&#xff1a; L…