原因
在平时的工作中我们经常会碰到需要将文件合并的事项。
比如一个文本中包含姓名和电话,另一个文本中包含了姓名和电子邮箱地址。
现在需要将2个文件合并为一个文件,这个时候就需要用到文本合并功能。
目的
减少手工编辑的不便以及节省时间。
举例:
现在有2个文本文件,01People和02Dept,需要将他们合并,生成文本文件03docu.txt
代码如下:
环境Python3.6
# encoding='utf-8'def main(): ftxt1 = open('01People', 'rb') ftxt2 = open('02Dept', 'rb') ftxt1.readline() # skip the first line ftxt2.readline() lines1 = ftxt1.readlines() lines2 = ftxt2.readlines() dict1 = {} # save as dictionary dict2 = {} for line in lines1: # get content from 01TEL elements = line.split() # change the bytes to str dict1[elements[0]] = str(elements[1].decode('utf-8')) for line in lines2: elements = line.split() dict2[elements[0]] = str(elements[1].decode('utf-8')) # ### begin process #### lines3 = [] lines3.append('姓名 性别 部门') for key in dict1: s = '' if key in dict2.keys(): s = ''.join([str(key.decode('utf-8')), dict1[key], dict2[key]]) s += '' else: s = ''.join([str(key.decode('utf-8')), dict1[key], str(' --- ')]) s += '' lines3.append(s) for key in dict2: s = '' if key not in dict1.keys(): s = ''.join([str(key.decode('utf-8')), str(' ---- '), dict2[key]]) s += '' lines3.append(s) ftxt3 = open('03Docu.txt', 'w') ftxt3.writelines(lines3) ftxt3.close() ftxt1.close() ftxt2.close() print("The 03Docu are merged! ")if __name__ == "__main__": main()