python实现两个文件合并功能

  

本文将会分析一个文件合并的程序,并指出在合并文件过程中需要注意的问题。
  

  

下面是需要合并的文件示例:

  

 python实现两个文件合并功能

  

  

 python实现两个文件合并功能

  

分析思路:
  

  

要将两个文件合并,首先要将文件读到内存中,成为列表。再将列表分割,按照类别将数据分开存储,即姓名:电话,邮箱。通过遍历列表1,依次与列表2比较,如果二者有重合的人,那么直接利用. join([])姓名电话邮箱合并到一行,保存到另外一个列表变量里面。二者不重合的人,说明只有列表1中才有,故将此人的邮箱信息用str(“-”)代替。
  

  

经过这次遍历之后,列表1中所有的人和列表2中与列表1中重复的人,都重新整合到了新的列表变量里面。接下来还需要把列表2中特有的人,添加到新的列表变量中。方法是遍历列表2,把与列表1不重合的人取出来保存。
  

  

最后要将新的列表变量中的数据写入到新的文件中,并关闭所有文件。
  

  

流程图如下:

  

 python实现两个文件合并功能

  

代码如下:

        ”“”   创建于2017年8月4日12:59:36星期五      @author: 13323   ”“”   #这个程序可以将两个或多个文件合并成一个文件。   def main ():   #首先打开文件   data1=开放(“test_3.txt”、“rb”)   data2=开放(“test_4.txt”、“rb”)      #读取数据文件到列表中   data1.readline() #只读取一行,跳过第一行   data2.readline() #只读取一行,跳过第一行   file1=data1.readlines() #所有变量读入file1列表   file2=data2.readlines() #所有变量读入file2列表   #打印(file1)      #定义特定的列表来存储变量   file1_name=[]   file1_tel=[]   file2_name=[]   file2_email=[]   # file3=[]      # file1分割成两个部分   在file1线:   # line.split元素=line.split () ();由“除号   file1_name.append (str(元素[0].decode (gbk)))   file1_tel.append (str(元素[1].decode (gbk)))      # file2分割成两个部分   在file2线:   元素=line.split ()   file2_name.append (str(元素[0].decode (gbk)))   file2_email.append (str(元素[1].decode (gbk)))      #捡起这个名字在file1 file2和组合的名字一样   file3=[]   因为我在范围(len (file1_name)):   s="   如果file1_name file2_name[我]:   j=file2_name.index (file1_name[我])   s=' \ t . join ([file1_name[我],file1_tel[我],file2_email [j]])   s +=' \ n '   其他:   s=' \ t . join ([file1_name[我],file1_tel[我],str (“——”)])   s +=' \ n '   file3.append (s)      #捡起这个名字在file1 file2不一样的名字   因为我在范围(len (file2_name)):   s="   如果file2_name[我]不是file1_name:   s=' \ t . join ([file2_name[我],str (——), file2_email[我]])   s +=' \ n '   file3.append (s)      #数据写入file3   data3=开放(“test_5.txt”、“w”)   data3.writelines (file3)      #关闭文件   data1.close ()   data2.close ()   data3.close ()      main ()   之前      

<>强关键点:

  

编码与解码
  列表合并与拆解

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

python实现两个文件合并功能