多次复制Excel符合要求的数据行:Python批量实现
本文介绍基于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()
函数,读取我们需要加以处理的文件,并随后将其中的数据存储在名为df
的DataFrame格式变量中。接下来,我们再创建一个空的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批量实现的更多相关文章
- 复制excel表中的数据
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Mouse点击之后,复制GridView控件的数据行
本篇是实现用mouse点击GridView控件任意一行,把所点击的数据复制至另一个GridView控件上. 实现大概思路,把所点击的数据行的记录主键找出来,再去过滤数据源. 点击功能,已经实现,可以参 ...
- excel 宏循环行数据 ,Excel统计所有sheet数据行数 VBA
Sub fun1() '统计每一个sheet有多少行数据 Set s1 = Sheets("Sheet1") 'totalok = 0 To Sheets.Count s1.Cel ...
- C# 原样复制excel工作表
在excel中,工作表是工作薄的组成部分,一个工作薄可以由一个或多个工作表组成,一个工作薄也可以说是一个excel文档,正因为如此,excel工作表的复制也就分为两种类型:在同一文档之内复制和在不同文 ...
- 复制excel表,往excel表中写入数据
import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import jav ...
- 将Excel上千条数据写入到数据库中
简要说明:因工作需要,需要一张Excel表格中的所有数据导入到数据库中.如下表,当然这只是一部分,一共一千多条. 前期处理: 首先要保证上图中的Excel表格中的数据不能为空,如果有为空的数据,可以稍 ...
- Excel VBA ——如何导出数据到excel表格
sub OutPut() Dim FileTitle, MyPath, MyFullName As String Application.ScreenUpdating = false '关闭表格公式的 ...
- 转载:案例用Excel对会员客户交易数据进行RFM分析
案例:用Excel对会员客户交易数据进行RFM分析 背景: 一个会员服务的企业,有近1年约1200个会员客户的收银数据.由于公司想针对不同 ...
- Java导出数据行写入到Excel表格:基于Apache POI
Java导出数据行写入到Excel表格:基于Apache POI import java.io.File; import java.io.FileOutputStream; import org.ap ...
- 将excel中某列数据中,含有指定字符串的记录取出,并生成用这个字符串命名的txt文件
Python 一大重要的功能,就是可处理大量数据,那分不开的即是使用Excel表格了,这里我做下学习之后的总结,望对我,及广大同仁们是一个帮助Python处理Excel数据需要用到2个库:xlwt 和 ...
随机推荐
- 【Azure Developer】use @azure/arm-monitor sdk 遇见 ManagedIdentityCredential authentication failed.(status code 500)
问题描述 在使用 @azure/arm-monitor sdk 创建 MonitorClient对象时候,遇见错误 ManagedIdentityCredential authentication f ...
- 【Azure K8S | AKS】在中国区AKS上遇见ImagePullBackOff时的替代方案
问题描述 在AKS集群中部署calico时候,遇见 ImagePullBackOff 问题. 在创建POD calico-typha-horizontal-autoscale 时候遇见拉取镜像失败问题 ...
- JVM内存模式
Java内存模型即Java Memory Model,简称JMM. JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式.JVM 是整个计算机虚拟模型,所以 JMM 是隶属于 JV ...
- CSP 2023 My Codes
T1 小苹果 题目描述 小 Y 的桌子上放着 \(n\) 个苹果从左到右排成一列,编号为从 \(1\) 到 \(n\). 小苞是小 Y 的好朋友,每天她都会从中拿走一些苹果. 每天在拿的时候,小苞都是 ...
- mysql-批量修改表的主键id,修改成联合主键
1.sql脚本 一. 通过sql脚本,查出所有表的功能,并编写插入修改的联合主键,sql select concat('ALTER table ', TABLE_NAME, ' DROP PRIMAR ...
- Java 设计模式简介
设计模式简介 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用.设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案.这些解决方案是众多软 ...
- C++ //类模板分文件编写问题及解决 //第一中解决方式 直接包含源文件 //第二种解决方法 将.h 和 cpp的内容写到一起,将后缀改为.hpp文件
1 //第一种方式被注释 2 //未被注释是第二种方式 3 //类模板分文件编写问题及解决 4 5 6 #include <iostream> 7 #include <string& ...
- SQL之基本查询
提纲 记录查询 使用列别名 查询语句执行顺序 数据分页 子句执行顺序 结果集排序 PS: 排序注意 多个排序字段 子句执行顺序 结果集去除重复数据 注意: 条件查询 比较运算符 注意 子句执行顺序
- GPT Prompt
GPT Prompt 本文总结我关于GPT prompt的一些常用模板和资源. 我常用的模板 大致模板:你是一个怎样的人,我的场景是什么,我想要什么,你需要做什么. 比如: 你是一个经验丰富的前端开发 ...
- MySQL面经总结
MySQL日志 MySQL日志系统 MySQL查询 菜鸟教程SQL内连接 exist和in区别 sql语句优化 MySQL索引 覆盖索引 索引类型:主键索引,二级索引(辅助索引):唯一索引,普通索引, ...