对文件夹中所文件(csv)进行读写操作

#coding=utf-8
#导入csv包
#python版本为2.7
import csv
import os

#获得当前目录下的所有文件名字放入
current_dir=os.listdir(os.getcwd())
#寻找到需要操作的文件名
for folder_name in current_dir:
    if folder_name == "TPS_Aggregate":
	    #切换目录进入到要操作的文件目录下面
		os.chdir(".\\TPS_Aggregate")
		sub_dir=os.listdir(os.getcwd())
		#进入子文件夹,获取每个子文件的名字
		for folder in sub_dir:
			path=".\\"+folder
			os.chdir(path)
			for filename in os.listdir(os.getcwd()):
				#获取大文件地址
				tps_path=os.getcwd()+"\\"+filename
				avg_tps_path=os.getcwd()+"\\"+"AVG_"+filename
				tps=file(tps_path,"rb")
				tps_avg=file(avg_tps_path,"wb")
				#创建写的文件句柄
				writer=csv.writer(tps_avg)

				#创建读的文件句柄
				reader=csv.reader(tps)

				#创建一个数组,用来保存CSV文件的数字部分
				number=[]

				#给期望的csv添加头部信息
				writer.writerow(["Interface Name","AVG TPS","MAX TPS"])

				#获取原csv文件的每一行数据
				for line in reader:
						#获取每行数据除去第一元素外的所有元素
						for nu in line[1:len(line)-1]:
							#把list中为空的元素去掉
							if nu!='':
								#把数字元素转换为整形并加入number数组
								number.append(float(nu))
								
						#把数组number的最大值赋给bigd
						bigd=max(number)
						tps_sum=sum(number)
						
						#求平均值
						avg_tps=tps_sum/len(number)
						
						#打印接口名称和最大TPS
						print line[0],avg_tps,bigd
						
						#清空数组中的元素,还原到初始化状态
						number=[]
						
						#把接口名称和最大tps保存到期望结果的CSV文件中	
						writer.writerow([line[0],avg_tps,bigd])
						
				#关闭CSV文件,注意关闭顺序			
				tps.close()
				tps_avg.close()
				



你可能感兴趣的:(python,OS,utf-8,csv)