Python实现文件信息进行合并实例代码

yipeiwu_com6年前Python基础

将电话簿TeleAddressBook.txt和电子邮件EmailAddressBook.txt合并为一个完整的AddressBook.txt

def main():
  ftele1=open("d:\TeleAddressBook.txt","rb")
  ftele2=open("d:\EmailAddressBook.txt","rb")
  ftele1.readline()
  ftele2.readline()
  lines1=ftele1.readlines()
  lines2=ftele2.readlines()
  #建立空列表用于存储姓名电话Email
  list1_name=[]
  list1_tele=[]
  list2_name=[]
  list2_email=[]
  #获取TeleAddressBook
  for line in lines1:
    elements=line.split()
    list1_name.append(str(elements[0].decode("gbk")))
    list1_tele.append(str(elements[1].decode("gbk")))
  #获取EmailAddressBook
  for line in lines2:
    elements=line.split()
    list2_name.append(str(elements[0].decode("gbk")))
    list2_email.append(str(elements[1].decode("gbk"))) 
  lines=[]
  lines.append("姓名\t电话\t\t邮箱\n")
  #按索引方式遍历姓名列表
  for i in range(len(list1_name)):
    s=''
    if list1_name[i] in list2_name:
      j=list2_name.index(list1_name[i])
      s="\t".join([list1_name[i],list1_tele[i],list2_email[j]])
      s+="\n"
    else:
      s="\t".join([list1_name[i],list1_tele[i],str("-----------")])
      s+="\n"
    lines.append(s)
  for i in range(len(list2_name)):
    s=""
    if list2_name[i] not in list1_name:
      s="\t".join([list2_name[i],str("-----------"),list2_email[i]])
      s+="\n"
    lines.append(s)
  #将新生成的合并数据写入新的文件中 
  ftele3=open("d:\AddressBook.txt","w")
  ftele3.writelines(lines)
  #关闭文件
  ftele3.close()
  ftele1.close()
  ftele2.close()
  print("The addressBooks are merged!")
main()

演示结果:

总结

以上就是本文关于Python实现文件信息进行合并实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

初学python数组的处理代码

初学python,小缘缘出了几道题: 有一 list a = [1, 2, 3, 4, 5, 6] 请将 a 依 0, 1 1, 2 2, 3 3, 4 4, 5 5, 6 打印输出,...

python实现在图片上画特定大小角度矩形框

python实现在图片上画特定大小角度矩形框

做图像识别的时候需要在图片中画出特定大小和角度的矩形框,自己写了一个函数,给定的输入是图片名称,矩形框的位置坐标,长宽和角度,直接输出画好矩形框的图片。 主要思想是先根据x,y坐标和长宽...

Python根据欧拉角求旋转矩阵的实例

利用numpy和scipy,我们可以很容易根据欧拉角求出旋转矩阵,这里的旋转轴我们你理解成四元数里面的旋转轴 import numpy as np import scipy....

python如何实现从视频中提取每秒图片

我是在做行人检测中需要将一段视频变为图片数据集,然后想将视频每秒钟的图片提取出来。 语言:python 所需要的库:cv2,numpy (自行安装) opencv中提供...

Python:二维列表下标互换方式(矩阵转置)

我就废话不多说了,直接上代码吧! #!/usr/bin/env python # coding:UTF-8 """ @version: python3.x @author:曹...