博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python学习------csv文件排序
阅读量:7309 次
发布时间:2019-06-30

本文共 1039 字,大约阅读时间需要 3 分钟。

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

  需求:从xml文件中获取的数据生成了CSV文件。但CSV文件内容无规律,我们需要对CSV文件进行排序。

  实现:

    1.csv文件内容

1
2
3
4
5
6
# cat test.csv 
1
|e|hunk
2
|a|tom
3
|d|jim
4
|b|jack
5
|c|lucy

    2.python 程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 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.生成排序后的文件

1
2
3
4
5
6
# 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表示升序排序

    

      本文转自独弹古调  51CTO博客,原文链接:http://blog.51cto.com/hunkz/1845498,如需转载请自行联系原作者

你可能感兴趣的文章
Linux crontab
查看>>
gdb中run出现的Missing separate debuginfos, use: debuginfo-install glib
查看>>
文件拷贝
查看>>
润乾集算报表呈现输出之精确打印
查看>>
Java多线程-新特征-障碍器
查看>>
TypeScript基础入门 - 类型兼容性 - 介绍
查看>>
print(),print_r(),echo()的区别
查看>>
我的友情链接
查看>>
关于Windows 2008服务器企业简单搭建流程
查看>>
android 虚拟机运用
查看>>
我的友情链接
查看>>
Groovy Postbuild 历史参数插件构建过程
查看>>
非常强大的射击动作游戏iOS源码
查看>>
Linux下切换python版本
查看>>
DOS命令
查看>>
安装TMG2010
查看>>
javascript--瀑布流客厅笔记
查看>>
Python - 装饰器使用过程中的误区
查看>>
2016-1-30 linux基础学习4
查看>>
设置交叉编译环境
查看>>