通过字典合并文件电话簿
来源:互联网 发布:金鸡湖大数据产业联盟 编辑:程序博客网 时间:2024/06/03 22:28
代码如下:
TeleAdress.txt
合并后的Address.txt
def main(): ftele2=open('TeleAddressBook.txt','rb') ftele1=open('EmailAddressBook.txt','rb') ftele1.readline()#跳过文件1第一行 ftele2.readline()#跳过文件2第一行 lines1=ftele1.readlines();#读取文件 lines2=ftele2.readlines(); #创建字典 dic1={} dic2={} #将信息读入字典 for line in lines1: elements=line.split() dic1[elements[0]]=str(elements[1].decode('gbk')) for line in lines2:<span style="white-space:pre"></span>elements=line.split() dic2[elements[0]]=str(elements[1].decode('gbk')) #创建新列表 lines=[] #加入表头 lines.append('姓名\t 电话\t 邮箱\n') #遍历字典一,将二中与一种共有的姓名合并,这里element[1]为姓名 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)#将合并的信息加入lines末尾,每次循环执行一次 #遍历字典二,将二中与一不重合的姓名放入lines 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) #打开或创建文件3为写模式 ftele3=open("AddressBook.txt",'w') #写入lines3 ftele3.writelines(lines) #关闭文件 ftele3.close() ftele1.close() ftele2.close() #执行完毕 print("执行完毕")if __name__=="__main__": main()
EmailAddress.txt
姓名邮箱王颐笳57320009@qq.com李斯12211212@qq.com王五949495968@qq.com桑迪wqweqe@163.com
TeleAdress.txt
姓名电话号码王颐笳13691177890张三13529293939李斯15811589981桑迪13010026896
合并后的Address.txt
姓名 电话 邮箱王颐笳57320009@qq.com13691177890李斯12211212@qq.com15811589981王五949495968@qq.com------桑迪wqweqe@163.com13010026896张三-----13529293939
0 0
- 通过字典合并文件电话簿
- Python 利用字典合并文件
- python编程:电话簿TeleAddressBook和邮箱地址簿EmailAddressBook两个文件,合并为一个完整的AddressBook文件
- 电话簿
- 通过Avro 将文件合并
- 列表和字典嵌套完成电话簿(增删改查)
- 通过avro合并大文件 并计算文件词频
- WPF-- 合并资源字典
- 合并列表生成字典
- python-递归合并字典
- Python合并字典
- python 字典合并
- python 合并两个字典
- python 字典dict合并
- python 合并字典效率问题
- 使用python字典合并文本
- ios将两个字典合并
- 两个列表合并成字典
- 调用C++dll遇到的问题
- Android客户端与java服务端AES加解密
- RecyclerView android:layout_width="match_parent"无效解决方法
- iOS开发项目架构浅谈:iOS架构设计与分层
- Oracle 11g笔记——口令文件
- 通过字典合并文件电话簿
- 查看表所在文件组
- VSS自动登陆设置
- HTTPClient模块的HttpGet和HttpPost
- 字符编码笔记:ASCII,Unicode和UTF-8
- 欢迎使用CSDN-markdown编辑器
- 虚拟机的垃圾回收机制
- 纯QML实现视频播放器
- 《Nodejs开发加密货币》之八:一个精巧的p2p网络实现