iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python学习:读写文件和字典排序
  • 227
分享到

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

字典文件python 2023-01-31 06:01:05 227人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

          今天来做一个题目,有一个文件,内容如下:[root@Virtual python]# cat a.csv  源文件2004-5-27,2,3,2,3 2004-5-27,872,0,872,0 2004-5-2

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

  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]#


   脚本比较粗糙,如果有更好的法子,请不吝赐教。。。。

--结束END--

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

本文链接: https://www.lsjlt.com/news/189378.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作