多次复制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 和 ...
随机推荐
- 【ACM专项练习#02】输入整行字符串、输入值到vector、取输入整数的每一位
输入整行字符串 平均绩点 题目描述 每门课的成绩分为A.B.C.D.F五个等级,为了计算平均绩点,规定A.B.C.D.F分别代表4分.3分.2分.1分.0分. 输入 有多组测试样例.每组输入数据占一行 ...
- Excel Undo-Redo的编程问题
Excel Undo历史栈对外是不透明的. 代码对Excel表单的编辑操作会清空Excel内部的Undo历史. Application.OnUndo只支持一次撤销,并且不支持ReDo. 使用DDE的方 ...
- macOS搭建SonarQube
目录 前言 准备环境 下载安装包 解压路径:/usr/local 创建数据库 修改配置文件 配置环境变量 启动SonarQube 扫描项目 项目报告介绍 总结 前言 初到新公司,接手8-10个java ...
- 2024年,提升Windows开发和使用体验实践 - 小工具篇
前言 本来是一篇文章的,不知不觉写成了系列. 其实开工那几天就已经写好了长文,这几天一忙就没连着发了. 本文介绍一些 Windows 上用的小工具. 美化/折腾/小工具 虽然这是在用 Windows ...
- Java 继承成员变量和继承方法的区别
1 package com.bytezreo.duotai3; 2 3 /** 4 * 5 * @Description 继承成员变量和继承方法的区别 6 * @author Bytezero·zhe ...
- 为什么现在连Date类都不建议使用了?
一.有什么问题吗java.util.Date? java.util.Date(Date从现在开始)是一个糟糕的类型,这解释了为什么它的大部分内容在 Java 1.1 中被弃用(但不幸的是仍在使用). ...
- Gavvmal
Gavvmal springboot 官方文档说明了两种方式,一种使用插件,直接生成docker镜像,但是这需要本地安装docker环境,但是无论用windows还是mac,本地安装docker都感觉 ...
- sqlserver 查看执行计划
-- 清除执行计划缓存 DBCC FREEPROCCACHE -- 查看缓存执行计划 SELECT * FROM sys.dm_exec_cached_plans as p CROSS APPLY s ...
- 聊聊CWE 4.14 与 ISA/IEC 62443中,如何保障工业软件的安全性
本文分享自华为云社区<CWE 4.14 与 ISA/IEC 62443>,作者:Uncle_Tom. 1. 序言 随着 5G 的应用,物联的网发展,越来越多的自动化控制系统.云服务在工业控 ...
- Ubuntu 与Windows 之间搭建共享文件夹
工作中经常需要搭建Linux环境用于测试以及其他开发需求,办公电脑通常是Windows 系统,为便于让文件在两个系统之间传输,可以采取共享文件的方式实现: 1.安装samba 服务: sudo apt ...