IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python实现两个文件的合并 -> 正文阅读

[Python知识库]python实现两个文件的合并

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

在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知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-22 12:17:56  更:2021-11-22 12:20:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:37:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码