Python实现将两个表格(txt格式)合并

来源:互联网 发布:mac pdf转word网页版 编辑:程序博客网 时间:2024/06/07 13:10

Python实现将两个表格(txt格式)合并


功能:将两个txt格式的表格进行合并,如下图所示:

合并前是一个电话本和一个邮箱本,里面姓名有部分重复部分不同。


合并后下面这个样子

## 代码在这里 ##----#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time    : 2017/11/19 11:23# @Author  : liuxiang# @Site    : # @File    : AddressBook.py# @Software: PyCharm# @Function: 将电话号码本和邮箱本合并ftele1 = open("TeleAddressBook.txt",'rb')ftele2 = open("EmailAddressBook.txt",'rb')f1line = ftele1.readline()#跳过第一行表头f2line = ftele2.readline()lines1 = ftele1.readlines()lines2 = ftele2.readlines()list1_name = []list1_tele = []list2_name = []list2_email = []lines = ["姓名 \t 电话 \t 邮箱 \n"]for line in lines1:    elements = line.split()    list1_name.append(str(elements[0].decode("utf-8")))    list1_tele.append(str(elements[1].decode("utf-8")))for line in lines2:    elements = line.split()    list2_name.append(str(elements[0].decode("utf-8")))    list2_email.append(str(elements[1].decode("utf-8")))for i in range(len(list1_name)):#按索引方式遍历姓名列表1    s = ''    if list1_name[i] in list2_name:        j = list2_name.index(list1_name[i])#按姓名列表1中的姓名找到姓名列表2中的对应索引        s = '\t'.join([list1_name[i],list1_tele[i],list2_email[j]])        s += '\n'    else:        s = '\t'.join([list1_name[i],list1_tele[i],str('----')])        s += '\n'    lines.append(s)#处理姓名列表2中剩余的姓名for i in range(len(list1_name)):    s = ''    if list2_name[i] not in list1_name:        s = '\t'.join([list2_name[i], str('----'), list2_email[i]])        s += '\n'    lines.append(s)ftele3 = open("AddressBook.txt",'w')ftele3.writelines(lines)ftele3.close()ftele2.close()ftele1.close()print("合并已完成")
阅读全文
0 0