zoukankan      html  css  js  c++  java
  • 随性练习:python字典实现文本合并

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

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

    image

    代码:

    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 = "姓名      电话                 邮箱 "
         lines.append(header)
         for key in address_book1:
             line = ""
             if key in address_book2:
                 line += " ".join([key,address_book1[key],address_book2[key]]) #拼接
                 line += " "
             else:
                 line += " ".join([key,address_book1[key],"********"]) #拼接
                 line += " "
             lines.append(line)
         for key2 in address_book2:
             line = ""
             if key2 not in address_book1:
                 line += " ".join([key2,"************",address_book2[key2]]) #拼接
                 line += " "
             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()

    效果:

    image

  • 相关阅读:
    数据结构算法(3)--排序
    数据结构算法(2)--字符串匹配
    数据结构与算法(0)-四则运算
    数据结构算法(1)--递归转化
    高级软件工程实践总结
    beta冲刺随笔集合
    Beta冲刺-用户测试报告
    Beta冲刺总结
    SDN期末作业-负载均衡的实现
    SDN第六次作业
  • 原文地址:https://www.cnblogs.com/pinpin/p/10498482.html
Copyright © 2011-2022 走看看