文件操作综合练习:已知有两个文本文件内容为地址本,如下图:

在address1.txt中的内容为姓名和电话号码,在address2.txt中的内容为姓名和邮箱地址,要求合并两个地址本,合并后效果如下:


代码:

# 定义三个字典,放数据
address1 = {}
address2 = {}
new_address = {}# 定义个函数,用来存数据进字典
def func(address, f):ls = []for line in f.readlines():ls.append(line.strip().split(","))  # strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。for i in ls:address[i[0]] = i[1]# 打开文件,调用函数存数据
with open("address1.txt", 'r+') as f1:func(address1, f1)with open("address2.txt", 'r+') as f2:func(address2, f2)# 判断合并
# 先新建一个文件,放合并后的内容
with open("new_address.txt", 'w+') as f3:ls = []top = "姓名\t\t\t电话\t\t\t邮箱"ls.append(top + "\n")# 判断for key in address1.keys():  # 取出address1的所有键if key in address2.keys():  # 如果键也在address2的所有键里s = key + "\t\t" + address1[key] + "\t\t" + address2[key]  # 执行操作else:  # 否则,如果键不在address2的键中,则邮箱显示为****s = key + "\t\t" + address1[key] + "\t\t" + "**********"ls.append(s + "\n")for key_i in address2.keys():  # 取出address2的所有键if key_i not in address1.keys():  # 如果键不在address1的所有键里s = key_i + "\t\t" + "**********" + "\t\t" + address2[key_i]  # 则让电话号码显示为***ls.append(s + "\n")f3.writelines(ls)f3.seek(0)for line in f3:print(line, end='')

python实现两个文件的合并相关推荐

  1. Python判断两个文件夹中互相不同的文件有哪些、判断一个文件夹相对于另外一个文件夹缺少了哪些文件

    Python判断两个文件夹中互相不同的文件有哪些.判断一个文件夹相对于另外一个文件夹缺少了哪些文件 目录 Python判断两个文件夹中互相不同的文件有哪些.判断一个文件夹相对于另外一个文件夹缺少了哪些 ...

  2. python判断相同,Python判断两个文件是否相同与两个文本进行相同项筛选的方法

    python判断两个文件是否相同 import hashlib def gethash(f): line=f.readline() hash=hashlib.md5() while(line): ha ...

  3. python excel处理重复行并统计个数_excel两个表格数据核对python-如何用python实现两个文件重复数据筛选并统计...

    怎么用python读取excel表格的数据 import pandas as pd excel1_data = pd.read_excel( 文件路径) excel2_data = pd.read_e ...

  4. python两个表格相同数据筛选_python如何统计所有文本文件的行数 如何用python实现两个文件重复数据筛选并统计...

    如何用python统计文本中重复行的数目? python比较txt文档中每行文本之间重复词的个数不想面对他离开,逃避不是一个好方法,但却是唯一的办法. 每一行弄成一个集合,分享两个集合之间的交集,计算 ...

  5. Spark-RDD使用IDEA-Scala编程练习题:对于两个输入文件A和B,编写spark独立应用程序,对两个文件进行合并,并剔除其中重复的内容,得到一个新文件c。

    一.例题 对于两个输入文件A和B,编写spark独立应用程序,对两个文件进行合并,并剔除其中重复的内容,得到一个新文件c.下面是输入文件和输出文件的一个样例,供参考. 输入文件A的样例如下: 2017 ...

  6. python中两个字典如何合并为一个_python怎么合并两个字典

    Python中将两个字典进行合并操作,是一个比较常见的问题.本文将介绍几种实现两个字典合并的方案,并对其进行比较. 对于这个问题,比较直观的想法是将两个字典做相加操作,赋值给结果字典,其代码为: py ...

  7. python编程:电话簿TeleAddressBook和邮箱地址簿EmailAddressBook两个文件,合并为一个完整的AddressBook文件

    有电话簿TeleAddressBook和邮箱地址簿EmailAddressBook两个文件,使用字典结构将其合并为一个完整的AddressBook文件 . 变为: 代码如下: # -*- coding ...

  8. Python取出两个文件中相同的电话号码及地址(文件类型为:txt文本)

    一,准备好要处理的2个文件 1.文件1内容: Person_info1.txt 学员编号 学生姓名 学生年龄 手机号码 E-mail地址 家庭住址 101 张三 18 13599713364 www. ...

  9. 多个python文件相互调用_用 python提取两个文件之间的内容

    我有两个文件: 一个文件叫exemple_data.csv 里面包含3个id,每个id一行 ZINC04203483 ZINC26895155 ZINC03651026 一个文件叫exemple.sd ...

最新文章

  1. S - 母牛的故事(递推)
  2. pjsip视频通信开发(上层应用)之拨号界面整体界面功能实现
  3. rest 接口怎么传list_如何设计一个优雅的RESTFUL的接口
  4. 什么字体字母和数字大小一样_字母和字体如何适应我们的屏幕
  5. vue 断开正在发送的请求_vue 发送请求频繁时取消上一次请求
  6. 统计list里面相同元素个数_LeetCode 第 347 号问题:前 K 个高频元素
  7. Android极光推送
  8. galaxy+tab+查看android+版本,三星第一代Galaxy Tab将更新至安卓4.1.2版本
  9. requirejs 入门【链接】
  10. Chrome 强制显示最小字体为 12px的解决方法
  11. 未在本地计算机上注册“OraOLEDB.Oracle”提供程序
  12. mysql.exe下载_mysql8 windows 下载安装
  13. WARN: Establishing SSL connection without server‘s identity verification
  14. Mac 本地起一个html 服务
  15. MySQL8.0 - 新特性 - Descending Index
  16. 视频编码第一节:H.265/HEVC原理——入门
  17. 使用脚本配置odbc mysql_LoadRunner利用ODBC编写MySql脚本
  18. IT时代,为什么要学习UI设计
  19. 大数据训练营课程大纲项目简介
  20. Win11系统保护怎么关闭?Win11系统保护关闭方法

热门文章

  1. 使用nvm下载node和npm
  2. ESP32创建工程的方法,赶紧收藏起来
  3. 用NFC贴纸DIY实现华为一碰传
  4. Ajax学习笔记-动力节点-王鹤老师
  5. linux x86 网卡 驱动 bd sbk dma,一支使用了DMA的网卡驱动分析
  6. 18 个终端命令行工具,绝对让你感觉自己像个10倍程序员
  7. 锐捷网络网吧方案,让网吧回归高利润行业(转)
  8. Blender2.9中制作彩色反光材质,经过阳极的铬,彩色金属
  9. IV (information value)信息价值
  10. 你一定可以看懂的:Linux编辑器-vim的使用