本文介绍基于Python语言,读取Excel表格文件数据,并基于其中某一列数据的值,将这一数据处于指定范围那一行加以复制,并将所得结果保存为新的Excel表格文件的方法。

  首先,我们来明确一下本文的具体需求。现有一个Excel表格文件,在本文中我们就以.csv格式的文件为例;其中,如下图所示,这一文件中有一列(也就是inf_dif这一列)数据比较关键,我们希望对这一列数据加以处理——对于每一行,如果这一行的这一列数据的值在指定的范围内,那么就将这一行复制一下(相当于新生成一个和当前行一摸一样数据的新行)。

  知道了需求,我们就可以开始代码的书写。其中,本文用到的具体代码如下所示。

# -*- coding: utf-8 -*-
"""
Created on Thu Jul 6 22:04:48 2023 @author: fkxxgis
""" import pandas as pd df = pd.read_csv(r"E:\Train_Model.csv") result_df = pd.DataFrame()
for index, row in df.iterrows():
value = row["inf_dif"]
if value <= -0.1 or value >= 0.1:
for i in range(10):
result_df = result_df.append(row, ignore_index=True)
result_df = result_df.append(row, ignore_index=True) result_df.to_csv(r"E:\Train_Model_Oversampling_NIR_10.csv", index=False)

  其中,上述代码的具体介绍如下。

  首先,我们需要导入所需的库;接下来,我们使用pd.read_csv()函数,读取我们需要加以处理的文件,并随后将其中的数据存储在名为dfDataFrame格式变量中。接下来,我们再创建一个空的DataFrame,名为result_df,用于存储处理后的数据。

  随后,我们使用df.iterrows()遍历原始数据的每一行,其中index表示行索引row则是这一行具体的数据。接下来,获取每一行中inf_dif列的值,存储在变量value中。

  此时,我们即可基于我们的实际需求,对变量value的数值加以判断;在我这里,如果value的值小于等于-0.1或大于等于0.1,则就开始对这一行加以复制;因为我这里需要复制的次数比较多,因此就使用range(10)循环,将当前行数据复制10次;复制的具体方法是,使用result_df.append()函数,将复制的行添加到result_df中。

  最后,还需要注意使用result_df.append()函数,将原始行数据添加到result_df中(这样相当于对于我们需要的行,其自身再加上我们刚刚复制的那10次,一共有11行了)。

  在最后一个步骤,我们使用result_df.to_csv()函数,将处理之后的结果数据保存为一个新的Excel表格文件文件,并设置index=False,表示不保存行索引。

  运行上述代码,我们即可得到结果文件。如下图所示,可以看到结果文件中,符合我们要求的行,已经复制了10次,也就是一共出现了11次。

  至此,大功告成。

多次复制Excel符合要求的数据行:Python批量实现的更多相关文章

  1. 复制excel表中的数据

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. Mouse点击之后,复制GridView控件的数据行

    本篇是实现用mouse点击GridView控件任意一行,把所点击的数据复制至另一个GridView控件上. 实现大概思路,把所点击的数据行的记录主键找出来,再去过滤数据源. 点击功能,已经实现,可以参 ...

  3. excel 宏循环行数据 ,Excel统计所有sheet数据行数 VBA

    Sub fun1() '统计每一个sheet有多少行数据 Set s1 = Sheets("Sheet1") 'totalok = 0 To Sheets.Count s1.Cel ...

  4. C# 原样复制excel工作表

    在excel中,工作表是工作薄的组成部分,一个工作薄可以由一个或多个工作表组成,一个工作薄也可以说是一个excel文档,正因为如此,excel工作表的复制也就分为两种类型:在同一文档之内复制和在不同文 ...

  5. 复制excel表,往excel表中写入数据

    import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import jav ...

  6. 将Excel上千条数据写入到数据库中

    简要说明:因工作需要,需要一张Excel表格中的所有数据导入到数据库中.如下表,当然这只是一部分,一共一千多条. 前期处理: 首先要保证上图中的Excel表格中的数据不能为空,如果有为空的数据,可以稍 ...

  7. Excel VBA ——如何导出数据到excel表格

    sub OutPut() Dim FileTitle, MyPath, MyFullName As String Application.ScreenUpdating = false '关闭表格公式的 ...

  8. 转载:案例用Excel对会员客户交易数据进行RFM分析

    案例:用Excel对会员客户交易数据进行RFM分析                                背景: 一个会员服务的企业,有近1年约1200个会员客户的收银数据.由于公司想针对不同 ...

  9. Java导出数据行写入到Excel表格:基于Apache POI

    Java导出数据行写入到Excel表格:基于Apache POI import java.io.File; import java.io.FileOutputStream; import org.ap ...

  10. 将excel中某列数据中,含有指定字符串的记录取出,并生成用这个字符串命名的txt文件

    Python 一大重要的功能,就是可处理大量数据,那分不开的即是使用Excel表格了,这里我做下学习之后的总结,望对我,及广大同仁们是一个帮助Python处理Excel数据需要用到2个库:xlwt 和 ...

随机推荐

  1. 【八股cover#2】CPP语法 Q&A与知识点

    CPP语法 Q&A与知识点 简历cover 1.熟练使用C的指针应用及内存管理 指针与引用的区别 指针是一个存储地址的变量,可以有多级,可以为空,并且在初始化后可以改变指向: 引用是原变量的别 ...

  2. 【Azure Fabric Service】Service Fabric 托管群集通过 Connect-ServiceFabricCluster 连接时候报错 CertificatedNotMatched

    问题描述 Service Fabric 托管群集, 使用Key Vault中证书,把证书导入到本地安装后,使用该证书的 Thumbprint 作为指令 Connect-ServiceFabricClu ...

  3. 【Azure 存储服务】Blob中数据通过Stream Analytics导出到SQL/Cosmos DB

    问题描述 Json格式的数据目前是存储在Azure Blob中,如何将这些数据Load到Sql DB和CosmosDB中呢? 测试方案 使用Azure流分析服务(Stream Analytics)功能 ...

  4. 【Azure Developer】Azure REST API: 如何通过 API查看 Recovery Services Vaults(恢复保管库)的备份策略信息? 如备份中是否含有虚拟机的Disk

    问题描述 如何通过 API查看 Recovery Services Vaults(恢复保管库)的备份策略信息? 如备份中是否含有虚拟机的Disk.在Azure门户中可以通过查看Backup Item查 ...

  5. POM模式核心思想?

    对页面元素进行封装为类的属性 对用例执行流程设计成类的实例方法 通过定义好的页面类实例化一个对象,通过对象调用实例方法执行用例 核心作用: 可以较少代码的冗余,方便后面维护,如果页面元素发生改变, 只 ...

  6. 二十一: Mysql 锁机制

    Mysql 锁机制 事务的 隔离性 由这章讲述的 锁 来实现. 1. 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制.在程序开发中会存在多线程同步的问题,当多个线程并发访问某个数据的时候,尤 ...

  7. 科技大厂、手机厂商、企服领域齐发力,手机智能体成AI Agent新趋势

    AI Agent涌向移动终端,手机智能体势不可挡 还没搞清楚什么是AI Agent,手机Agent就已经横空出世 AIGC为何涌向移动端?背后有哪些逻辑?什么是手机智能体?一文看明白 科技大厂.手机厂 ...

  8. GPS 方案总结

    GPS 方案 搜集网络上关于GPS的方案. redis + mysql redis 用来做设备或用户实时定位的查询. mysql存储历史轨迹.存储时分两部分,一张表做实时查询用.一张表做备份用.如果需 ...

  9. python数组概念和实例解析

    一 概念 如果我们需要一个只包含数字的列表,那么array.array比list更高效.数组支持所有跟可变序列有关的操作,包括.pop,.insert和.extend. 另外,数组还提供从文件读取和存 ...

  10. linux下查看端口对应的进程号

    在部署服务的时候,会指定对应的端口号,如果想kill 对应的端口,就要找到对应的进程,查看端口对应的进程号,有两种方法: 1.lsof命令,查看系统打开的文件(在linux中,所有的都是文件),需要管 ...