python学习------csv文件排序
需求:从xml文件中获取的数据生成了CSV文件。但CSV文件内容无规律,我们需要对CSV文件进行排序。
实现:
1.csv文件内容
# cat test.csv
1|e|hunk
2|a|tom
3|d|jim
4|b|jack
5|c|lucy
2.python 程序
# cat test.py
#/usr/bin/evn python
# -*- coding: utf-8 -*-
import csv, operator
import sys
reload(sys)
sys.setdefaultencoding('utf8')
def sort_csv(LDIR,csv_file,sort_file):
data = csv.reader(open(LDIR+csv_file),delimiter='|')
sortedlist = sorted(data,key=lambda x:(x[0],x[1]),reverse=True)
with open(LDIR+sort_file, "wb") as f:
fileWriter = csv.writer(f, delimiter='|')
for row in sortedlist:
fileWriter.writerow(row)
f.close()
def main():
sort_csv('/tmp/','test.csv','sort.csv')
if __name__=='__main__':
main()
3.生成排序后的文件
# cat sort.csv
5|c|lucy
4|b|jack
3|d|jim
2|a|tom
1|e|hunk
总结:
关于“sorted(data,key=lambda x:(x[0],x[1]),reverse=True)”参数解释:
参数reverse=True 表示降序排序
参数reverse=False表示升序排序
转载于:https://blog.51cto.com/hunkz/1845498