python学习:读写文件和字典排序

简介:
 今天来做一个题目,有一个文件,内容如下:

 
  1. [root@Virtual python]# cat a.csv  源文件
  2. 2004-5-27,2,3,2,3 
  3. 2004-5-27,872,0,872,0 
  4. 2004-5-27,1872,0,872,0 
  5. 2004-5-27,3872,0,872,0 
  6. 2004-5-27,9872,0,872,0 
  7. 2004-5-29,1762,24,1762,24 
  8. 2004-5-28,2011,20,2011,20 
   需求是对文件内容的第二列内容进行排序,排序之后如下显示:

  1. [root@Virtual python]# cat b.csv 
  2. 2004-5-27,2,3,2,3 
  3. 2004-5-27,872,0,872,0 
  4. 2004-5-29,1762,24,1762,24 
  5. 2004-5-27,1872,0,872,0 
  6. 2004-5-28,2011,20,2011,20 
  7. 2004-5-27,3872,0,872,0 
  8. 2004-5-27,9872,0,872,0 


下面讲下我的解题思路,首先把文件内容读入到一个列表,然后提取需要排序的第二列的字段值到另外一个列表里面,2个列表组成一个字典,然后对字典按照值来进行排序
下面来看看脚本吧,注释写的比较清晰了:


[root@Virtual python]# cat xiecvs.py
#!/usr/bin/env python
f=open('a.csv')
aa={}
bb=[]
k=[]
for i  in f.readlines():
                bb.append(i.split('\n'))                   把文件内容读入列表
                k.append(i.split(',')[1])                 吧需要拍下的列的内容加入到一个列表

for i  in range(0,len(bb)):
                aa[bb[i][0]]= int(k[i])                   生成一个字典,键是文件内容,值是需要排序的内容
f.close()
cc=sorted(aa.items(),key=lambda aa:aa[1])       对字典进行按照值来排序,返回值是个列表
g=open('b.csv','w+')
for i  in range(0,len(cc)):
                g.write(cc[i][0] +  "\n")                  吧列表内容按照一定顺序写入新的文件

g.close()
[root@Virtual python]#


   脚本比较粗糙,如果有更好的法子,请不吝赐教。。。。
本文转自你是路人甲还是霍元甲博客51CTO博客,原文链接http://blog.51cto.com/world77/1121550如需转载请自行联系原作者

world77
相关文章
|
9天前
|
Python
python学习3-选择结构、bool值、pass语句
python学习3-选择结构、bool值、pass语句
|
1天前
|
JSON 数据格式 索引
python 又一个点运算符操作的字典库:Munch
python 又一个点运算符操作的字典库:Munch
5 0
|
2天前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by='A', ascending=False)`。`rank()`函数用于计算排名,如`df['A'].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`和分别对'A'、'B'列排名。
13 2
|
6天前
|
存储 Python
用Python实现批量下载文件——代理ip排除万难
用Python实现批量下载文件——代理ip排除万难
|
6天前
|
JSON 关系型数据库 数据库
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
33 0
|
6天前
|
数据挖掘 索引 Python
Python 读写 Excel 文件
Python 读写 Excel 文件
11 0
|
6天前
|
数据安全/隐私保护 Python
Python文件与目录操作:面试中的高频考点
【4月更文挑战第15天】本文介绍了Python文件和目录操作的面试重点,包括文件的读写、目录遍历及权限管理。强调了文件关闭、异常处理、特殊文件判断以及权限位和权限字符串的理解。提供了代码示例,如读写文件、遍历目录和更改文件权限,帮助读者在面试中表现出色。掌握这些技能将对编程求职之路大有裨益。
17 0
|
7天前
|
机器学习/深度学习 算法 Python
使用Python实现集成学习算法:Bagging与Boosting
使用Python实现集成学习算法:Bagging与Boosting
18 0
|
8天前
|
存储 监控 开发工具
对象存储OSS产品常见问题之python sdk中的append_object方法支持追加上传xls文件如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
38 9
|
8天前
|
Python
python学习-函数模块,数据结构,字符串和列表(下)
python学习-函数模块,数据结构,字符串和列表
49 0