Python实现文件信息进行合并实例代码

yipeiwu_com6年前Python基础

将电话簿TeleAddressBook.txt和电子邮件EmailAddressBook.txt合并为一个完整的AddressBook.txt

def main():
  ftele1=open("d:\TeleAddressBook.txt","rb")
  ftele2=open("d:\EmailAddressBook.txt","rb")
  ftele1.readline()
  ftele2.readline()
  lines1=ftele1.readlines()
  lines2=ftele2.readlines()
  #建立空列表用于存储姓名电话Email
  list1_name=[]
  list1_tele=[]
  list2_name=[]
  list2_email=[]
  #获取TeleAddressBook
  for line in lines1:
    elements=line.split()
    list1_name.append(str(elements[0].decode("gbk")))
    list1_tele.append(str(elements[1].decode("gbk")))
  #获取EmailAddressBook
  for line in lines2:
    elements=line.split()
    list2_name.append(str(elements[0].decode("gbk")))
    list2_email.append(str(elements[1].decode("gbk"))) 
  lines=[]
  lines.append("姓名\t电话\t\t邮箱\n")
  #按索引方式遍历姓名列表
  for i in range(len(list1_name)):
    s=''
    if list1_name[i] in list2_name:
      j=list2_name.index(list1_name[i])
      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)
  for i in range(len(list2_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("d:\AddressBook.txt","w")
  ftele3.writelines(lines)
  #关闭文件
  ftele3.close()
  ftele1.close()
  ftele2.close()
  print("The addressBooks are merged!")
main()

演示结果:

总结

以上就是本文关于Python实现文件信息进行合并实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

解读Python中degrees()方法的使用

 degrees()方法从弧度转换到度角x 语法 以下是degrees()方法的语法: degrees(x) 注意:此函数是无法直接访问的,所以我们需要导入math模...

使用Windows批处理和WMI设置Python的环境变量方法

大概在Python2.7.xx以前,安装Python时环境变量是需要自己设的,所以自己做了一个批处理文件.bat来设置环境变量Path,通过WMI命令wmic来实现。 ::检查pat...

python range()函数取反序遍历sequence的方法

python中的range函数取反序有两种方式 第一种:先构建一个列表,然后对列表中的元素进行反转。 例如: a=range(5) for i in reversed(a):...

对python for 文件指定行读写操作详解

1.os.mknod(“test.txt”) #创建空文件 2.fp = open(“test.txt”,w) #直接打开一个文件,如果文件不存在则创建文件 3.关于open 模式: 详...

浅析pandas 数据结构中的DataFrame

浅析pandas 数据结构中的DataFrame

DataFrame 类型类似于数据库表结构的数据结构,其含有行索引和列索引,可以将DataFrame 想成是由相同索引的Series组成的Dict类型。在其底层是通过二维以及一维的数据块...