python之中一般去对一个文件进行排序操作的时候都是将一个文件在python之中打开然后读取出来再写进去,除了这种方法其实还可以使用不同的模块去组合完成这个功能。下面这篇文章会来介绍一下在python中去对csv文件内的数据进行排序的方法示例和解析,一起看看吧。
一、解决思路
在python之中有一个内置模块叫做argparse可以去给一个python脚本传入参数,这样这个脚本在执行的时候就能够把传进来的参数直接去使用了。使用这个库能够实现对csv文件进行排序的原理就是先定义好进行排序的参数,然后程序执行时会默认的把这个参数当成是命令行的命令去执行。
接下来还需要去使用re正则表达式去获取需要进行排序的数据所在的行,然后通过pandas库去对csv文件实行实际的排序操作。
二、具体实例
按照上面的思路去编写代码就能够去对一个csv文件内的数据进排序了,实例如下:
#coding:utf-8 # 导入模块 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)
以上就是关于“Python怎么去对csv文件的数据进行排序?这个方法很好用”的全部内容了,想要了解更多python的实用知识和代码示例可以持续关注这个频道,每次更新都会有很多新的知识技术分享给大家。