随性练习:python字典实现文本合并

主要用到,字典、字符串分割和连接、文件等操作

例如;有以下两个txt文本,要合并成一个

代码:

address_book1 = {}

address_book2 = {}

def read_address():
     ‘‘‘
     read content from txt
     :return
     ‘‘‘
     with open("address1.txt","r") as f1:
         lines1 = f1.readlines()  #返回列表
         for line in lines1:
             line = line.strip()  #去空白
             content = line.split(",") #切割
             address_book1[content[0]] = content[1]
            
     with open("address2.txt","r") as f2:
         lines2 = f2.readlines()  #返回列表
         for line in lines2:
             line = line.strip()  #去空白
             content = line.split(",") #切割
             address_book2[content[0]] = content[1]

def merge_address(): #合并
     lines  = []
     header = "姓名\t     电话\t                邮箱\n"
     lines.append(header)
     for key in address_book1:
         line = ""
         if key in address_book2:
             line += "\t".join([key,address_book1[key],address_book2[key]]) #拼接
             line += "\n"
         else:
             line += "\t".join([key,address_book1[key],"********"]) #拼接
             line += "\n"
         lines.append(line)
     for key2 in address_book2:
         line = ""
         if key2 not in address_book1:
             line += "\t".join([key2,"************",address_book2[key2]]) #拼接
             line += "\n"
         lines.append(line)
     with open("new_address_book.txt","w",encoding="utf-8") as f3:
         f3.writelines(lines)

#         for i in lines:  #逐行写

#             f3.write(i)

if __name__ == "__main__":
     read_address()

#     print(address_book1)

#     print(address_book2)
     merge_address()

效果:

原文地址:https://www.cnblogs.com/pinpin/p/10498482.html

时间: 2024-11-15 07:48:23

随性练习:python字典实现文本合并的相关文章

python 字典dict和列表list的读取速度问题, range合并

python 字典和列表的读取速度问题 最近在进行基因组数据处理的时候,需要读取较大数据(2.7G)存入字典中,然后对被处理数据进行字典key值的匹配,在被处理文件中每次读取一行进行处理后查找是否在字典的keys中,以下两段代码的效率差别非常大: 第一段: if(pos in fre_dist.keys()):newvalue= fre_dist[pos] 第二段: if(pos in fre_dist):newValue=fre_dist[pos] 在处理3万条数据时,第二段代码的速度是第一段

【转】Python数据类型之“文本序列(Text Sequence)”

[转]Python数据类型之“文本序列(Text Sequence)” Python中的文本序列类型 Python中的文本数据由str对象或字符串进行处理. 1.字符串 字符串是Unicode码值的不可变序列.字符串字面量有多种形式: 单引号:'允许嵌入"双"引号' 双引号:"允许嵌入'单'引号" 三引号:'''三个单引号''', """三个双引号""" 说明: a) 三引号的字符串可以跨越多行,所关联的空

Python字典高级使用方法汇总

Python字典高级使用方法汇总 字典(dictionary)是python中的一种非常灵活和强大的数据结构,可以完成很多操作.本文总结了一些除了基本的初始化.赋值.取值之外的常用的字典使用方法. 字典基础参考: [1]:http://www.w3cschool.cc/python/python-dictionary.html [2]:http://www.111cn.net/phper/python/56355.htm [3]:http://skyfen.iteye.com/blog/5675

python字典(dictionary)使用:不常用的基本函数例子

python字典dictionary,以前有过介绍,现就几个不常用函数写测试例子, 字典声明如,a={}; [python]dictionary方法说明:参考:http://blog.csdn.net/wangran51/article/details/8440848 Operation Result Notes len(a) the number of items in a 得到字典中元素的个数   a[k] the item of a with key k 取得键K所对应的值 (1), (1

浅谈python 字典对象的 Pythonic 用法

字典对象在Python中作为最常用的数据结构之一,和数字.字符串.列表.元组并列为5大基本数据结构,字典中的元素通过键来存取,而非像列表一样通过偏移存取.笔者总结了字典的一些常用Pyhonic用法,这是字典的Pythonic用法的上篇 0. 使用 in/not in 检查 key 是否存在于字典 判断某个 key 是否存在于字典中时,一般初学者想到的方法是,先以列表的形式把字典所有键返回,再判断该key是否存在于键列表中: 更具Pythonic的用法是使用in关键字来判断 key 是否 存在于字

15.python 字典dict - python基础入门

前面的课程讲解了字符串str/列表list/元组tuple,还有最后一种比较重要的数据类型也需要介绍介绍,那就是python字典,俗称:dict. python中的字典可与字符串/列表/元组不同,因为字典dict需要由两部分组成,分别是key和value,简称:键值对,下面具体讲解一下关于字典的特点: 1.由一个或者多个键值对构成,键值对的类型可以不相同也可以相同: 2.字典中的键值对需要写在{}中括号内部,键值对中的key和value用:隔开,键值对与键值对之间用逗号隔开: 3.字典是一个无序

Python字典及相关操作(内含例题)

Python字典类型 今天将会介绍一种在python中十分常见的组合数据类型——字典 通过一些实例来理解字典中的常规操作 什么是字典类型? 列表中查找是通过整数的索引(元素在列表中的序号)来实现查找功能. 但很多应用程序需要更加灵活的查找方式,即表示索引的键和对应的值组成. 比如说:“用户名”查找“手机号”,“学号”查找“学院班级”等等 通过任意键信息查找一组数据中值信息的过程叫“映射” Python语言中,通过字典来实现映射. 简单理解为,字典为处理信息与信息相对应映射关系的组合数据类型. 字

HDU6191(01字典树启发式合并)

Query on A Tree Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others)Total Submission(s): 801    Accepted Submission(s): 302 Problem Description Monkey A lives on a tree, he always plays on this tree. One day, monkey

python 字典有序无序及查找效率,hash表

刚学python的时候认为字典是无序,通过多次插入,如di = {}, 多次di['testkey']='testvalue' 这样测试来证明无序的.后来接触到了字典查找效率这个东西,查了一下,原来字典在python内部是通过哈希表的顺序来排的,做了一些测试,比如di = {1:1,3:3,2:2,4:4,5:5} ,无论怎么改变键值对的顺序,print di 总是会{1: 1, 2: 2, 3: 3, 4: 4, 5: 5}.所以看起来当插入di['key']='value'时,这组键值对有时