python中合并两个文本文件并按照姓名首字母排序的例子


Posted in Python onApril 25, 2014

前段时间前在网上看到一段面试题,要求如下:

employee文件中记录了工号和姓名

    cat employee.txt:    
    100 Jason Smith    
    200 John Doe    
    300 Sanjay Gupta    
    400 Ashok Sharma

bonus文件中记录工号和工资
    cat bonus.txt:    
    100 $5,000    
    200 $500    
    300 $3,000    
    400 $1,250

要求把两个文件合并并输出如下, 处理结果:
    400 ashok sharma $1,250    
    100 jason smith  $5,000    
    200 john doe  $500    
    300 sanjay gupta  $3,000

 

这个是要求用shell来写的,但我的shell功底不怎么样,就用python来实现了

注意,按题目的意思,在输出文件中还需要按照姓名首字母来排序的,实现代码

#! /usr/bin/env python
#coding=utf-8
fp01 = open("bonus.txt", "r")
a = []
for line01 in fp01:
    a.append(line01)
fp02 = open("employee.txt", "r")
fc02 = sorted(fp02, key = lambda x:x.split()[1])
for line02 in fc02:
    i = 0
    while line02.split()[0]!=a[i].split()[0]:
        i += 1
    print "%s %s %s %s" % (line02.split()[0], line02.split()[1], line02.split()[2], a[i].split()[1])
fp01.close()
fp02.close()
Python 相关文章推荐
Python中使用PDB库调试程序
Apr 05 Python
简介二分查找算法与相关的Python实现示例
Aug 26 Python
完美解决Python2操作中文名文件乱码的问题
Jan 04 Python
python读取xlsx的方法
Dec 25 Python
Python基于scipy实现信号滤波功能
May 08 Python
python识别文字(基于tesseract)代码实例
Aug 24 Python
Python hashlib模块加密过程解析
Nov 05 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
Dec 22 Python
python3读取csv文件任意行列代码实例
Jan 13 Python
Python发送手机动态验证码代码实例
Feb 28 Python
Python环境管理virtualenv&virtualenvwrapper的配置详解
Jul 01 Python
Python趣味挑战之教你用pygame画进度条
May 31 Python
使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
Apr 25 #Python
Python time模块详解(常用函数实例讲解,非常好)
Apr 24 #Python
Python 时间操作例子和时间格式化参数小结
Apr 24 #Python
python抓取网页图片并放到指定文件夹
Apr 24 #Python
python字符串替换示例
Apr 24 #Python
python自动安装pip
Apr 24 #Python
python网络编程示例(客户端与服务端)
Apr 24 #Python
You might like
浅析Apache中RewriteCond规则参数的详细介绍
2013/06/30 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
2014/12/17 PHP
yii实现model添加默认值的方法(2种方法)
2016/01/06 PHP
php用正则判断是否为数字的方法
2016/03/25 PHP
thinkphp修改配置进入默认首页的方法
2017/02/07 PHP
PHP实现字母数字混合验证码功能
2019/07/11 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
符合标准的js表单提交的代码
2007/09/13 Javascript
JS 对象介绍
2010/01/20 Javascript
JavaScript DOM 学习第三章 内容表格
2010/02/19 Javascript
JS删除数组元素的函数介绍
2013/03/27 Javascript
js数组去重的常用方法总结
2014/01/24 Javascript
Javascript实现的简单右键菜单类
2015/09/23 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
JS把内容动态插入到DIV的实现方法
2016/07/19 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
2016/12/20 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
bootstrap警告框示例代码分享
2017/05/17 Javascript
JavaScript实现的数字与字符串转换功能示例
2017/08/23 Javascript
get  post jsonp三种数据交互形式实例详解
2017/08/25 Javascript
原生js的ajax和解决跨域的jsonp(实例讲解)
2017/10/16 Javascript
Vue动态组件与异步组件实例详解
2019/02/23 Javascript
JS实现4位随机验证码
2020/10/19 Javascript
python实现根据ip地址反向查找主机名称的方法
2015/04/29 Python
python 第三方库的安装及pip的使用详解
2017/05/11 Python
Pycharm新建模板默认添加个人信息的实例
2019/07/15 Python
python二元表达式用法
2019/12/04 Python
Python 多进程原理及实现
2020/12/21 Python
关于css中margin的值和垂直外边距重叠问题
2020/10/27 HTML / CSS
魅力惠奢品线上平台:MEI.COM
2016/11/29 全球购物
ruby如何进行集成操作?Ruby能进行多重继承吗?
2013/10/16 面试题
高中升旗仪式演讲稿
2014/09/09 职场文书
战友聚会致辞
2015/07/28 职场文书
如何在centos上使用yum安装rabbitmq-server
2021/03/31 Servers