您的位置:首页 > 编程语言 > Python开发

python学习------csv文件排序

2016-09-02 10:57 471 查看
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表示升序排序
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息