闵行做网站费用,消息提示怎么做网站,哪里做网站做的好,沈阳市城乡建设网站本文介绍基于Python语言#xff0c;针对一个文件夹下大量的Excel表格文件#xff0c;对其中的每一个文件加以操作——将其中指定的若干列的数据部分都向上移动一行#xff0c;并将所有操作完毕的Excel表格文件中的数据加以合并#xff0c;生成一个新的Excel文件的方法。 首…本文介绍基于Python语言针对一个文件夹下大量的Excel表格文件对其中的每一个文件加以操作——将其中指定的若干列的数据部分都向上移动一行并将所有操作完毕的Excel表格文件中的数据加以合并生成一个新的Excel文件的方法。 首先我们明确一下本文的需求。在一个文件夹内有大量的Excel表格文件以.csv格式文件为例其中每一个文件都有着类似如下图所示的数据特征我们希望对于下图中紫色框内的列其中的数据部分每一列都有一个列名这个列名不算数据部分都向上提升一行比如原本数据部分的第2行变到第1行原本第3行变到第2行以此类推。 由上图也可以看到需要加以数据操作的列有的在原本数据部分的第1行就没有数据而有的在原本的数据部分中第1行也有数据对于后者我们在数据向上提升一行之后相当于原本第1行的数据就被覆盖掉了。此外很显然在每一个文件的操作结束后加以处理的列的数据部分的最后一行肯定是没有数据的因此在合并全部操作后的文件之前还希望将每一个操作后文件的最后一行删除。 知道了需求我们就可以开始代码的撰写具体代码如下。 # -*- coding: utf-8 -*-Created on Fri May 19 01:47:06 2023author: fkxxgis
import os
import pandas as pdoriginal_path E:/01_Reflectivity/25_2022Data_New
result_path E:/01_Reflectivity/99_Model/02_Extract_Data/26_Train_Model_Newresult_df pd.DataFrame()for file in os.listdir(original_path):if file.endswith(.csv):df pd.read_csv(os.path.join(original_path, file))columns_move_index list(range(8, 16)) list(range(17, 36))for columns_index in columns_move_index:for i in range(len(df) - 1):df.iat[i, columns_index] df.iat[i 1, columns_index]if len(df):df df.drop(len(df) - 1)# df df.iloc[ : , 1 : ]result_df pd.concat([result_df, df])result_df.to_csv(os.path.join(result_path, Train_Model_0715_Main.csv), index False) 其中original_path表示存放有多个待处理的Excel表格文件的文件夹路径result_path则是结果Excel表格文件的存放路径。 首先我们通过result_df pd.DataFrame()创建一个空的DataFrame用于保存处理后的数据。接下来遍历原始文件夹中的所有文件并找到文件夹内以.csv结尾的文件随后读取这些.csv文件并将其保存到df中。 其次我们通过columns_move_index list(range(8, 16)) list(range(17, 36))指定需要移动数据的列的索引范围并随后遍历需要移动数据的列。接下来的df.iat[i, columns_index] df.iat[i 1, columns_index]表示将当前行的数据替换为下一行对应的数据。 接下来我们通过if len(df):判断是否DataFrame不为空如果是的话就删除DataFrame中的最后一行数据随后将处理后的DataFrame连接到result_df中。 最后我们通过result_df.to_csv()函数将最终处理后的DataFrame保存为一个新的Excel表格文件从而完成我们的需求。 至此大功告成。 文章转载自疯狂学习GIS 原文链接https://www.cnblogs.com/fkxxgis/p/18404400 体验地址引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构