Python使用字典合并两个通讯录文本文件的实现方法

Alice
Alice
发布时间:2026-10-13 | 2人浏览过
原创

本文介绍利用Python字典结构将两个独立的通讯录文本文件合并为一个完整文件的实例。通过读取电话本和邮箱本文本,利用字典键值对匹配姓名,处理缺失数据并输出合并结果,适用于基础文件操作与数据整合场景。

本实例展示了如何使用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 相关产品和应用

全部下载

专题列表