Amir Tabatabaei: > > ---------- Datei A ---------- > 110703, a, b, c > 110703, a, b, c > 110703, a, b, c > 110704, a, b, c > 110705, a, b, c > 110705, a, b, c > 110706, a, b, c > 110707, a, b, c > > ---------- Datei B ---------- > 110701, d, e, f, g, h > 110704, d, e, f, g, h > 110705, d, e, f, g, h > 110708, d, e, f, g, h Dein Problem sind nicht reguläre Ausdrücke. #!/usr/bin/python fileA = (line.split(';') for line in open("a")) fileB = (line.split(';') for line in open("b")) records = {} for record in fileA: timestamp = record[0] records[timestamp] = record[1:] for record in fileB: timestamp = record[0] if timestamp in records: records[timestamp].extend(record[1:]) else: new_record = [0, 0, 0, 0].extend(record[1:]) records[timestamp] = new_record for key, value in records: print key, "; ".join(value) Ich bin allerdings nicht sicher, ob ich Dein Problem wirklich verstanden habe. Und testen mußt Du natürlich selbst. :) > Die erste Spalte entspricht der Uhrzeit. Ich möchte die Uhrzeiten der > beiden Dateien miteinander vergleichen und sie zusammenfassen. Dabei > soll eine Zeile aus Datei B, die nicht in A erhalten ist mit Nullen > vorweg gefüllt werden und andersrum. Das sollte da oben passieren. > Sollten mehrere selbe Uhrzeiten in den Dateien vorhanden sein, sollen > nur soviele ergänzt werden, wie vorhanden. Dafür bitte ein Beispiel und ein Gegenbeispiel (falls es so nicht paßt). J. -- In an ideal world I would cure poverty and go to the gym at least three days a week. [Agree] [Disagree] <http://www.slowlydownward.com/NODATA/data_enter2.html>
Attachment:
signature.asc
Description: Digital signature