本文共 1125 字,大约阅读时间需要 3 分钟。
本文尝试使用python字典来完成2个文本的合并工作,待合并的2个文本如下:
python3源代码如下:
#利用字典将两个通讯录文本合并为一个文本
#为了防止出现乱码,我们以'rb'方式打开 f1=open(r'C:\Users\Administrator\Desktop\TeleBook.txt','rb') f2=open(r'C:\Users\Administrator\Desktop\EmailBook.txt','rb') #跳过第一行 f1.readline() f2.readline() lines1=f1.readlines() lines2=f2.readlines() #字典方式保存 dict1={} dict2={} #获取第一个文本中的姓名和电话信息 for line in lines1: elements=line.split() dict1[elements[0]]=str(elements[1].decode('gbk')) #获取第二个文本中的姓名和邮箱信息 for line in lines2: elements=line.split() dict2[elements[0]]=str(elements[1].decode('gbk')) #开始处理 lines=[] lines.append('姓名\t 电话 \t 邮箱\n') for key in dict1: #s='' if key in dict2.keys(): s='\t'.join([key.decode('gbk'),dict1[key],dict2[key]]) s+='\n' else: s='\t'.join([str(key.decode('gbk')),dict1[key],str(' ----- ')]) s+='\n' lines.append(s) for key in dict2: #s='' if key not in dict1.keys(): s='\t'.join([key.decode('gbk'),' ----- ',dict2[key]]) s+='\n' lines.append(s) f3=open(r'C:\Users\Administrator\Desktop\AddressBook.txt','w') f3.writelines(lines) #关闭文件 f1.close() f2.close() f3.close() print('The files have been merged!!')最终的结果图如下:
至此,我们使用python字典完成了合并文本的工作。。。