python合并文本文件示例_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()

时间: 2024-12-21 07:50:15

python合并文本文件示例_python的相关文章

python读取浮点数和读取文本文件示例_python

从文本文件中读入浮点数据,是最常见的任务之一,python没有scanf这样的输入函数,但我们可以利用正规表达式从读入的字符串中提取出浮点数 复制代码 代码如下: import refp = open('c:/1.txt', 'r')s = fp.readline()print(s)aList = re.findall('([-+]?\d+(\.\d*)?|\.\d+)([eE][-+]?\d+)?',s) #使用正规表达式搜索字符串print(aList)for ss in aList:   

使用cx_freeze把python打包exe示例_python

需要使用到的文件wxapp.py, read_file.py, setup.py 复制代码 代码如下: #!/usr/bin/env python# -*- coding: utf-8 -*-#file: wxapp.py import wximport osimport sysimport read_file class Frame(wx.Frame):    def __init__(self):        wx.Frame.__init__(self, parent=None, tit

python解析文件示例_python

python最近的工作主要是组件兼容性测试,原有的框架有很多功能还不完善,需要补充!比如,需要将AutoIt脚本的执行结果写入到Excel中,最后的解决方案是使用本地的log来解析这个结果! 增加了如下一个类来完成上述功能: 复制代码 代码如下: class AutoItResultParser():    def ParseResult(self, vm_result, log_file):        for case_result in vm_result.cases_results: 

python访问sqlserver示例_python

最近遇到了Python访问SqlServer的问题,这里总结下. 一.Windows下配置Python访问Sqlserver 环境:Windows 7 + Sqlserver 2008 1.下载并安装pyodbc 下载地址:http://code.google.com/p/pyodbc/downloads/list 2.访问SqlServer 复制代码 代码如下: >>> import pyodbc>>>cnxn = pyodbc.connect('DRIVER={SQ

使用Protocol Buffers的C语言拓展提速Python程序的示例_python

 Protocol Buffers (类似XML的一种数据描述语言)最新版本2.3里,protoc-py_out命令只生成原生的Python代码. 尽管PB(Protocol Buffers)可以为C++语言生成快速解析和序列化代码,但是这种方式对于Python不适用,并且手动生成的已包装的代码需要非常大的维护工作.在讨论组里,这是一个常见的功能要求,由于一个必备的客户端组件-AppEngine(根据团队介绍名称为AppEngine),生成原生的Python代码有更高的优先级. 幸运的是, PB

python异步任务队列示例_python

很多场景为了不阻塞,都需要异步回调机制.这是一个简单的例子,大家参考使用吧 复制代码 代码如下: #!/usr/bin/env python# -*- coding: UTF-8 -*- import loggingimport queueimport threading def func_a(a, b):    return a + b def func_b():    pass def func_c(a, b, c):    return a, b, c # 异步任务队列_task_queu

python字符串替换示例_python

php5.2升级到5.3后,原& new的写法已经被放弃了,可以直接new了,面对上百个php文件,手动修改简直是想要命,所以写了个脚本,分分钟搞定. 复制代码 代码如下: #-*- coding:utf-8 -*- #!/usr/bin/python   import os #定义程序根目录rootpath='D:\\wamp\\www\\erp\\app' def m_replace(path): for item in os.listdir(path):  nowpath=os.path.

python转换摩斯密码示例_python

复制代码 代码如下: CODE = {'A': '.-',     'B': '-...',   'C': '-.-.',        'D': '-..',    'E': '.',      'F': '..-.',        'G': '--.',    'H': '....',   'I': '..',        'J': '.---',   'K': '-.-',    'L': '.-..',        'M': '--',     'N': '-.',     'O'

python创建线程示例_python

复制代码 代码如下: import threadingfrom time import sleep def test_func(id):    for i in range(0,5):        sleep(1)        print('thread %d is running %d' % (id,i)) threads = []for i in range(0,3):    t = threading.Thread(target=test_func, args=(i,))    thr