建设域名网站,近期热点新闻事件50个,北京快三走势图今天,免费看看视频用什么软件好fio数据简单抓取 上文我们完成了一些fio output数据的简单抓取#xff0c;本文将针对抓取的数据做进一步的处理#xff0c;输出到表格之中#xff0c;方便我们查看#xff0c;统计结果。
本文先使用最简单的方法创建csv档案 我们现有个基本认知#xff0c;在csv档案中本文将针对抓取的数据做进一步的处理输出到表格之中方便我们查看统计结果。
本文先使用最简单的方法创建csv档案 我们现有个基本认知在csv档案中默认列用 逗号,进行分隔。也就是假如你在Linux下使用shell 命令 echo 1,2 test.csv 你用表格软件打开test.csv的话它是这样的 OK所以已知用逗号隔开字符串再输出到csv档案中就能得到一个简单的表格求如何将我们需要的fio数据再放到表格中
解 我先放上上文我们得到的两个字典,也就是本文中readData,writeData myclass.run() 得到的两个字典PS细心的小伙伴应该发现了相较上文修改了字典中Key的名字这里是为了方便后续取值 readData {‘IOPS’: ‘527k’, ‘BW’: ‘2158MB/s’, ‘BiW’: ‘2058MiB/s’, ‘clatv’: ‘usec’, ‘clatavg’: ‘180.34’, ‘clatmin’: ‘6’, ‘clatmax’: ‘27758’, ‘qos9’: ‘486’, ‘qos29’: ‘865’, ‘qos39’: ‘1336’} writeData {‘IOPS’: ‘527k’, ‘BW’: ‘2158MB/s’, ‘BiW’: ‘2058MiB/s’, ‘clatv’: ‘usec’, ‘clatavg’: ‘58.22’, ‘clatmin’: ‘8’, ‘clatmax’: ‘31750’, ‘qos9’: ‘81’, ‘qos29’: ‘130’, ‘qos39’: ‘206’}
详细代码
def writeToCSV(data,rwType):global vacsvFile os.path.join(os.getcwd(),fioData.csv)#设定一下表格中需要展示的项目我这里只筛选了四项dataType [item,IOPS,BW,clatavg,qos39]#先创建表头if va 1:msg for key in dataType:msg f{key},\nwith open(csvFile,w) as f:f.write(msg)va 1#读取表格中的文件readlines()会按行列成List格式即myData的类型是列表with open(csvFile,r) as f:myData f.readlines()# n 代表行号n 0for line in myData:#第一行显示的是 item ,read , write这些标题if n 0:#利用 replace 替换掉换行符msg line.replace(\n,%s,\n%rwType)else:#同样可以用re 来进行替换动作dataType[n]读到我们要显示的项目名如IOPS再用 data[IOPS]抓到之前字典内对应的数据, 让msg慢慢完整msg re.sub(\n,f{data[dataType[n]]},\n,line)n 1#把完整的msg数据直接覆盖写进csv档案里面with open(csvFile,w) as f:f.write(msg)if __name__ __main__:#创建一个全局变量用于判断是否需要先写一个头文件就是列表需要显示的ITEM名之类的global vava 1#上文提到的一个类实例化它myclass saveFio()#将处理过的数据返回并赋值readData与writeData都是字典类型的readData,writeData myclass.run()#调用本文的函数进行处理将结果写到csv档案中writeToCSV(readData,read)writeToCSV(writeData,write)执行完毕后我们得到一个fioData.csv的档案打开后的效果是这样的