• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

python实现两个文件合并功能

python 搞代码 4年前 (2022-01-09) 20次浏览 已收录 0个评论

这篇文章主要为大家详细介绍了python实现两个文件合并功能,一个简单的文件合并程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

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

分析思路:

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

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

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

流程图如下:

代码如下:

"""Created on Fri Aug 4 12:59:36 2017@author: 13323"""# This program can combine two or more files into one file.def main(): #firstly open the files data1 = open("test_3.txt","rb") data2 = open("test_4.txt","rb") # read the data in file into list data1.readline() #only read one line, skip the first line data2.readline() #only read one line, skip the first line file1 = data1.readlines() #read all variable into list file1  file2 = data2.readlines() #read all variable into list file2 #print(file1) #define particular list to store variable file1_name = [] file1_tel = [] file2_name = [] file2_email = [] #file3 = [] #split file1 into two part for line in file1: <mark>本文来源gaodaimacom搞#^代%!码&网(</mark> element = line.split() #line.split(); devide by ' '  file1_name.append(str(element[0].decode('gbk')))  file1_tel.append(str(element[1].decode('gbk'))) #split file2 into two part for line in file2:  element = line.split()  file2_name.append(str(element[0].decode('gbk')))  file2_email.append(str(element[1].decode('gbk'))) # pick up the name in the file1 same as the name in the file2 and combine  file3 = [] for i in range(len(file1_name)):  s = ''  if file1_name[i] in file2_name:   j = file2_name.index(file1_name[i])   s = '\t'.join([file1_name[i],file1_tel[i],file2_email[j]])   s += '\n'  else:   s = '\t'.join([file1_name[i],file1_tel[i],str("----")])   s += '\n'  file3.append(s) #pick up the name in the file1 doesn't same as the name in the file2  for i in range(len(file2_name)):  s = ''  if file2_name[i] not in file1_name:   s = '\t'.join([file2_name[i],str('----'),file2_email[i]])   s += '\n'  file3.append(s) #write the data into file3  data3 = open("test_5.txt","w") data3.writelines(file3) #close the file data1.close() data2.close() data3.close()main()

关键点:

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

相关推荐:

两个python实现切换功能

Python实现管理站点的方法

以上就是python实现两个文件合并功能的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python实现两个文件合并功能

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址