python合并文本文件示例

yipeiwu_com5年前Python基础

python实现两个文本合并

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中的序列化与反序列化的使用

学习过marshal模块用于序列化和反序列化,但marshal的功能比较薄弱,只支持部分内置数据类型的序列化/反序列化,对于用户自定义的类型就无能为力,同时marshal不支持自引用(递...

TensorFlow模型保存/载入的两种方法

TensorFlow 模型保存/载入 我们在上线使用一个算法模型的时候,首先必须将已经训练好的模型保存下来。tensorflow保存模型的方式与sklearn不太一样,sklearn很直...

解决Python传递中文参数的问题

今天有个需要需要传递中文参数给URL 但是在GBK环境下的脚本传递GBK的参数老是给我报UNICODE的解码错误。烦的很。 所以我们果断选择用urlencode来处理中文, 由于国内外网...

python使用xmlrpc实例讲解

RPC是Remote Procedure Call的缩写,翻译成中文就是远程方法调用,是一种在本地的机器上调用远端机器上的一个过程(方法)的技术,这个过程也被大家称为“分布式计算”,是为...

在python中画正态分布图像的实例

在python中画正态分布图像的实例

1.正态分布简介 正态分布(normal distribtution)又叫做高斯分布(Gaussian distribution),是一个非常重要也非常常见的连续概率分布。正态分布大家也...