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,一经查实,立即删除!

相关文章

快速排序

描述 著名的快速排序算法里有一个经典的划分过程&#xff1a;我们通常采用某种方法取一个元素作为主元&#xff0c;通过交换&#xff0c;把比主元小的元素放到它的左边&#xff0c;比主元大的元素放到它的右边。 给定划分后的 N 个互不相同的正整数的排列&#xff0c;请问有多少…

Flink系列之:Upsert Kafka SQL 连接器

Flink系列之&#xff1a;Upsert Kafka SQL 连接器 一、Upsert Kafka SQL 连接器二、依赖三、完整示例四、可用元数据五、键和值格式六、主键约束七、一致性保证八、为每个分区生成相应的watermark九、数据类型映射 一、Upsert Kafka SQL 连接器 Scan Source: Unbounded 、Sink…

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…

【影像组学入门百问】#32—#34

#32-影像组学研究过程中&#xff0c;图像重采样参 数怎么选择&#xff1f; 在影像组学研究过程中&#xff0c;选择合适的图像重采样参数对于保证分析质量和准确性至关重要。以下是在选择图像重采样参数时需要考虑的一些建议&#xff1a; 1.目标分辨率&#xff1a;首先&#…

力扣 | 347. 前 K 个高频元素

leetcode 347 号算法题&#xff1a;前 K 个高频元素 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。 你可以按 任意顺序 返回答案。输入: nums [1,1,1,2,2,3], k 2 输出: [2, 1]输入: nums [1], k 1 输出: [1]1 < nums.length &…

使用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;的…

Tenda账号密码泄露漏洞复现 [附POC]

文章目录 Tenda账号密码泄露漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现Tenda账号密码泄露漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息…

复杂 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…

openssl数据压缩

介绍 数据压缩是将原有数据通过某种压缩算法计算得到相对数据量小的过程。这种过程是可逆的&#xff0c;即能通过压缩后的数据恢复出原数据。数据压缩能够节省存储空间&#xff0c;减轻网络负载。 在即需要加密又需要压缩的情况下&#xff0c;必须先压缩再加密&#xff0c;次…

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、…

6. 3 lambda表达式

6.3 lambda表达式 指定时间间隔完成工作&#xff0c;该工作放在了ActionListener中的action performed 方法中&#xff1b;work类继承上述类&#xff0c;构造work类实例 定制比较器完成排序&#xff0c;定义一个长度比较类&#xff0c;再传给sort&#xff1b;实现基于长度排…

Web地图开发,在vue3中引入高德地图API

在vue3中引入高德地图API要实现的功能 设置地图的显示样式实现点击地图添加标记、点击地图获取详细地址和经纬度输入框搜索获取相关地区提示&#xff08;下拉框&#xff0c;选中后进行标记&#xff0c;视角移动到相对位置&#xff09;输入框输入内容&#xff0c;回车获取详细地…

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

前端架构和后端架构都是软件系统中最关键的架构层&#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…