In diesem Artikel wird hauptsächlich die Funktion zum Zusammenführen von zwei Dateien in Python ausführlich vorgestellt. Es handelt sich um ein einfaches Programm zum Zusammenführen von Dateien mit einem bestimmten Referenzwert.
Dieser Artikel wird eine Datei analysieren Führen Sie das Zusammenführungsprogramm durch und weisen Sie auf die Probleme hin, die beim Zusammenführen von Dateien beachtet werden müssen.
Das Folgende ist ein Beispiel für Dateien, die zusammengeführt werden müssen:
Analyseidee:
Um zwei Dateien zusammenzuführen, müssen die Dateien zunächst in den Speicher eingelesen werden und zu einer Liste werden. Teilen Sie dann die Liste auf und speichern Sie die Daten getrennt nach Kategorien, also Name, Telefonnummer und E-Mail-Adresse. Vergleichen Sie Liste 1 nacheinander mit Liste 2, und verwenden Sie .join([]), um die Namen, Telefonnummern und E-Mails direkt in einer Zeile zusammenzuführen und in einer anderen Listenvariablen zu speichern. Wenn sich die beiden nicht überschneiden, bedeutet dies, dass sie nur in Liste 1 enthalten sind. Daher werden die E-Mail-Informationen dieser Person durch str(‘––’) ersetzt.
Nach diesem Durchlauf wurden alle Personen in Liste 1 und die Personen in Liste 2, die Duplikate von Liste 1 sind, wieder in die neue Listenvariable integriert. Als Nächstes müssen Sie die eindeutigen Personen in Liste 2 zur neuen Listenvariablen hinzufügen. Die Methode besteht darin, Liste 2 zu durchlaufen, die Personen, die sich nicht mit Liste 1 überschneiden, herauszunehmen und zu speichern.
Schreiben Sie abschließend die Daten in der neuen Listenvariablen in die neue Datei und schließen Sie alle Dateien.
Das Flussdiagramm lautet wie folgt:
Der Code lautet wie folgt:
""" 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()
Wichtige Punkte:
Kodierung und Dekodierung
Zusammenführen und Zerlegen von Listen
Verwandte Empfehlungen:
Zwei Pythons implementieren die Umschaltfunktion
Python implementiert die Methode zur Verwaltung der Site
Das obige ist der detaillierte Inhalt vonPython implementiert die Zusammenführungsfunktion zweier Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!