Python利用字典将两个通讯录文本合并为一个文本实例

yipeiwu_com7年前Python基础

本文实例主要实现的是利用字典将两个通讯录文本合并为一个文本,具体代码如下:

def main():
  ftele1=open("d:\TeleAddressBook.txt","rb")
  ftele2=open("d:\EmailAddressBook.txt","rb")
  ftele1.readline()#跳过第一行
  ftele2.readline()
  lines1=ftele1.readlines()
  lines2=ftele2.readlines()
  dic1={}
  dic2={}
  for line in lines1:#获取第一个文本中的姓名和电话信息
    elements=line.split()
    #将文本中的读出来的bytes转换为str
    dic1[elements[0]]=str(elements[1].decode('gbk'))
  for line in lines2:
    elements=line.split()
    dic2[elements[0]]=str(elements[1].decode("gbk"))

  lines=[]
  lines.append("姓名\t  电话\t    邮箱\n")

  for key in dic1:
    s=''
    if key in dic2.keys():
      s='\t'.join([str(key.decode('gbk')),dic1[key],dic2[key]])
      s+='\n'
    else:
      s='\t'.join([str(key.decode('gbk')),dic1[key],str(' ---- ')])
      s+='\n'
    lines.append(s)
  for key in dic2:
    s=''
    if key not in dic1.keys():
      s='\t'.join([str(key.decode('gbk')),str(' ---- '),dic2[key]])
      s+='\n'
    lines.append(s)
  ftele3=open("d:\dizhibook.txt","w")
  ftele3.writelines(lines)
  ftele3.close()
  ftele2.close()
  ftele1.close()
  print("The dizhibook are merged!")
main()

演示结果:

总结

以上就是本文关于Python利用字典将两个通讯录文本合并为一个文本实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

Python初学者常见错误详解

前言 Python 以其简单易懂的语法格式与其它语言形成鲜明对比,初学者遇到最多的问题就是不按照 Python 的规则来写,即便是有编程经验的程序员,也容易按照固有的思维和语法格式来写...

python 对多个csv文件分别进行处理的方法

如下所示: import glob import time import csv csvx_list = glob.glob('*.csv') #打开文件夹下全部的CSV文件 pr...

python实现批量获取指定文件夹下的所有文件的厂商信息

本文实例讲述了python实现批量获取指定文件夹下的所有文件的厂商信息的方法。分享给大家供大家参考。具体如下: 功能代码如下: import os, string, shutil,r...

基于python实现学生管理系统

本文为大家分享了python实现学生管理系统的具体代码,供大家参考,具体内容如下 1.0版本学生管理系统 ''' 1.添加学员 2.修改学员 3.查询学员 4.删除学员 0...

pytorch numpy list类型之间的相互转换实例

如下所示: import torch from torch.autograd import Variable import numpy as np ''' pytorch中Varia...