前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 使用pandas对csv文件进行排序

python 使用pandas对csv文件进行排序

原创
作者头像
小白will
发布2019-01-28 16:10:15
7.9K0
发布2019-01-28 16:10:15
举报
文章被收录于专栏:学习

背景:使用jmeter的插件PerfMon生成的结果数据,需要获取到cpu的TOP 10.

解决方案:使用python语言的pandas组件,可以对csv类型的数据进行各种操作。

PerfMon结果文件
PerfMon结果文件

处理过程:

1-python脚本可以在命令行中获取待查找字符。

使用argparse组件,获取命令行参数;使用re组件,获取需要查找的字符串所在行

2-使用pandas组件,对文件进行排序。

3-命令行执行数据获取及排序,写入文件;再通过命令行获取TOP 10

# /usr/bin/python getcpudata.py --ip="9.77.90.207" --type="CPU"

# cat filterOrder.csv | head -n 11

以下是完整代码:


#coding:utf-8

#__author__ ='xxx'

import re

import argparse

import pandas as pd

parser = argparse.ArgumentParser(description='manual to this script')

parser.add_argument('--ip', type=str, default = None)

parser.add_argument('--type', type=str, default=None)

args = parser.parse_args()

filterStr = args.ip + " " + args.type

f1=file('perf.csv','r')

perfdata=f1.readlines()

f1.close()

results = []

f2 = open('filter.csv', 'w')

f2.writelines(perfdata[0])

for i in perfdata:

n = re.findall(filterStr, i)

if n:

f2.writelines(i)

f2.close()

df = pd.read_csv('filter.csv')

df = df.sort_values('elapsed',ascending = False)

df.to_csv('filterOrder.csv',index = False)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档