用python給csv里的數(shù)據(jù)排序的具體代碼
1、使用argparse組件,獲取命令行參數(shù);使用re組件,獲取需要查找的字符串所在行
2、使用pandas組件,對(duì)文件進(jìn)行排序。
3、命令行執(zhí)行數(shù)據(jù)獲取及排序,寫(xiě)入文件;
以下是完整代碼:
#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)
實(shí)例擴(kuò)展:
Python對(duì)csv排序
#/usr/bin/evn python
# -*- coding: utf-8 -*-
import sys
from operator import itemgetter
# input_file = open(sys.argv[1])
input_file = open("D:\\tmp\\a.csv")
output_file = open("D:\\tmp\\asorted.csv","w")
table = []
for line in input_file:
col = line.split('|')
col[0] = col[0].strip()
col[1] = int(col[1])
col[2] = int(col[2])
col[3] = int(col[3].strip())
table.append(col) #嵌套列表table[[8,8][*,*],...]
table_sorted = sorted(table, key=itemgetter(1,2),reverse=True)#先后按列索引1,2排序,降序排列
output_file.write('header' + '\n')
for row in table_sorted: #遍歷讀取排序后的嵌套列表
row = [str(x) for x in row] #轉(zhuǎn)換為字符串格式,好寫(xiě)入文本
output_file.write("\t".join(row) + '\n')
input_file.close()
output_file.close()
以上就是用python給csv里的數(shù)據(jù)排序的具體代碼的詳細(xì)內(nèi)容,更多關(guān)于用python給csv里的數(shù)據(jù)如何排序的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
pandas中的DataFrame按指定順序輸出所有列的方法
下面小編就為大家分享一篇pandas中的DataFrame按指定順序輸出所有列的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
Python實(shí)現(xiàn)簡(jiǎn)單的獲取圖片爬蟲(chóng)功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)簡(jiǎn)單的獲取圖片爬蟲(chóng)功能,涉及Python使用urllib模塊及正則模塊操作頁(yè)面元素獲取圖片的相關(guān)技巧,需要的朋友可以參考下2017-07-07
python實(shí)現(xiàn)遍歷文件夾圖片并重命名
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)遍歷文件夾圖片并重命名,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03
Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單三層神經(jīng)網(wǎng)絡(luò)的搭建及測(cè)試 代碼解析
一個(gè)完整的神經(jīng)網(wǎng)絡(luò)一般由三層構(gòu)成:輸入層,隱藏層(可以有多層)和輸出層。本文所構(gòu)建的神經(jīng)網(wǎng)絡(luò)隱藏層只有一層。一個(gè)神經(jīng)網(wǎng)絡(luò)主要由三部分構(gòu)成(代碼結(jié)構(gòu)上):初始化,訓(xùn)練,和預(yù)測(cè)。,需要的朋友可以參考下面文章內(nèi)容的具體內(nèi)容2021-09-09
Python中elasticsearch插入和更新數(shù)據(jù)的實(shí)現(xiàn)方法
這篇文章主要介紹了Python中elasticsearch插入和更新數(shù)據(jù)的實(shí)現(xiàn)方法,需要的朋友可以參考下2018-04-04
Python使用atexit模塊實(shí)現(xiàn)Golang的defer功能
這篇文章主要為大家詳細(xì)介紹了Python如何使用atexit模塊實(shí)現(xiàn)Golang的defer功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04
OpenCV-Python實(shí)現(xiàn)輪廓的特征值
輪廓自身的一些屬性特征及輪廓所包圍對(duì)象的特征對(duì)于描述圖像具有重要意義。本篇博文將介紹幾個(gè)輪廓自身的屬性特征及輪廓包圍對(duì)象的特征,感興趣的可以了解一下2021-06-06
python多線(xiàn)程比單線(xiàn)程效率低的原因及其解決方案
這篇文章主要介紹了python多線(xiàn)程比單線(xiàn)程效率低的原因及其解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08

