首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

关于csv文件排序有关问题

2012-03-11 
关于csv文件排序问题遇到这样的一个问题,请高人指点比如一个csv文件,1.csv第一个字段id,号码,begin_time,e

关于csv文件排序问题
遇到这样的一个问题,请高人指点
比如一个csv文件,1.csv
第一个字段id,号码,begin_time,end_time
id号码begin_timeend_time
31930120102011/7/1 0:032011/7/1 0:03
31991220102011/7/1 0:102011/7/1 0:11
32101100132011/7/1 0:242011/7/1 0:24
32131100122011/7/1 0:292011/7/1 0:29
32328150102011/7/1 1:382011/7/1 1:40
32622170102011/7/1 6:402011/7/1 6:43
有什么办法在python中实现对号码为主排序,以begin_time为辅的排序
就像excel中排序
在csv模块时候又函数可以直接实现??
最好请求函数代码实现。。。
先谢谢了

[解决办法]
把csv数据读到一个list中,list的sort方法有一个参数是key,可用来指定排序用的项。

Python code
>>> csvreader = csv.reader(open('/tmp/1.csv'), delimiter=' ')>>> rows = list(csvreader)>>> rows4: [['31930', '12010', '2011/7/1', '0:03', '2011/7/1', '0:03'], ['31991', '22010', '2011/7/1', '0:10', '2011/7/1', '0:11'], ['32101', '10013', '2011/7/1', '0:24', '2011/7/1', '0:24'], ['32131', '10012', '2011/7/1', '0:29', '2011/7/1', '0:29'], ['32328', '15010', '2011/7/1', '1:38', '2011/7/1', '1:40'], ['32622', '17010', '2011/7/1', '6:40', '2011/7/1', '6:43']]>>> rows.sort(key=lambda item: (item[1], item[2], item[3]))>>> rows5: [['32131', '10012', '2011/7/1', '0:29', '2011/7/1', '0:29'], ['32101', '10013', '2011/7/1', '0:24', '2011/7/1', '0:24'], ['31930', '12010', '2011/7/1', '0:03', '2011/7/1', '0:03'], ['32328', '15010', '2011/7/1', '1:38', '2011/7/1', '1:40'], ['32622', '17010', '2011/7/1', '6:40', '2011/7/1', '6:43'], ['31991', '22010', '2011/7/1', '0:10', '2011/7/1', '0:11']]>>> 

热点排行