您的位置:首页 > 其它

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

2017-04-22 00:00 239 查看
#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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: