国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現兩個文件合并功能

2020-01-04 15:29:14
字體:
來源:轉載
供稿:網友

本文將會分析一個文件合并的程序,并指出在合并文件過程中需要注意的問題。

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

python,文件合并,python文件合并,python文件合并功能

 

python,文件合并,python文件合并,python文件合并功能

分析思路:

要將兩個文件合并,首先要將文件讀到內存中,成為列表。再將列表分割,按照類別將數據分開存儲,即姓名、電話、郵箱。通過遍歷列表1,依次與列表2比較,如果二者有重合的人,那么直接利用 .join([ ])姓名電話郵箱合并到一行,保存到另外一個列表變量里面。二者不重合的人,說明只有列表1中才有,故將此人的郵箱信息用str(‘—–')代替。

經過這次遍歷之后,列表1中所有的人和列表2中與列表1中重復的人,都重新整合到了新的列表變量里面。接下來還需要把列表2中特有的人,添加到新的列表變量中。方法是遍歷列表2,把與列表1不重合的人取出來保存。

最后要將新的列表變量中的數據寫入到新的文件中,并關閉所有文件。

流程圖如下:

python,文件合并,python文件合并,python文件合并功能

代碼如下:

"""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:  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()

關鍵點:

編碼與解碼
列表合并與拆解

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 定远县| 仪陇县| 南昌县| 库伦旗| 丽水市| 乌拉特后旗| 冕宁县| 交口县| 邻水| 普洱| 安西县| 临江市| 聊城市| 梅州市| 嘉禾县| 陇川县| 陆丰市| 博野县| 若羌县| 衡阳县| 靖安县| 讷河市| 白朗县| 晋江市| 澄城县| 宁安市| 长宁县| 肃北| 望奎县| 玉林市| 衡东县| 嘉荫县| 调兵山市| 福州市| 仙桃市| 镶黄旗| 武宣县| 噶尔县| 库尔勒市| 新巴尔虎右旗| 汶上县|